کامپوننت های اندروید ، قسمت کلیدی و اصلی در توسعه ی برنامه های اندرویدی می باشد. این کامپوننت ها درون فایلی به نام AndroidManifest.xml معرفی می شوند که تعامل و کارآیی آن ها در این فایل به اندروید معرفی می شود.

AndroidManifest.xml یک فایل شناسنامه ای می باشد که به همراه هر برنامه ی اندرویدی وجود دارد. توسعه دهنده باید این فایل را بشناسد و از آن در توسعه ی برنامه های اندرویدی استفاده کند.

چهار کامپوننت اندروید در جدول زیر نوشته شده است :

نام کامپوننت کارایی
Activity واسط کاربری (UI) را تحمیل می کنند و تعامل کاربر با صفحه نمایش گوشی هوشمند را مدیریت می کنند.
services (سرویسها) پردارش های زمینه ای مربوط به یک اپلیکیشن را کنترل می کنند.
Broadcast Receivers (دریافت کنندگان پیام های پخش شده) ارتباط بین سیستم عامل اندروید و اپلیکیشن ها را کنترل می کنند.
تامین کنندگان محتوا (Content Providers) موضوعات مربوط به داده و مدیریت پایگاه داده را مدیریت می کنند.

 

 Activity ها (فعالیت ها)

یک Activity (فعالیت) نشان دهنده  یک صفحه­ ی واحد با یک واسط کاربری است. برای مثال یک اپلیکیشن ایمیل می تواند دارای فعالیت های زیر باشد: فعالیتی که لیستی از ایمیل های جدید را نمایش می دهد، یک فعالیت برای نوشتن یک ایمیل و یک فعالیت دیگر برای خواندن ایمیل ها. در صورتی که یک اپلیکیشن بیش از یک فعالیت داشته باشد، آنگاه یکی از آنها باید به عنوان فعالیتی که در زمان راه اندازی برنامه نمایش داده می شود، انتخاب شود.

یک فعالیت به صورت یک زیر کلاس از کلاس Activity، به صورت زیر تعریف می شود.

public class MainActivity extends Activity {
}

services (سرویس ها)

یک سرویس مولفه ایست که برای انجام عملیاتی با اجرای طولانی مدت در پس زمینه اجرا می شود. برای مثال، یک سرویس می تواند در پس زمینه موسیقی پخش کند، درحالی که کاربر در اپلیکیشن دیگری است. و یا می تواند بدون قطع ارتباط کاربر با یک فعالیت، داده ها را از شبکه واکشی کند.

یک سرویس به عنوان زیر کلاسی از کلاس Service به صورت زیر تعریف می شود:

public class MyService extends Service {
}

Broadcast Receivers (دریافت کننده­ ی پیام های پخش شده)

Broadcast Receiver ها به آسانی به پیامهای منتشر شده  از سایر اپلیکیشن ها یا سیستم پاسخ می دهند. برای مثال، اپلیکیشن ها می توانند پیام های برودکستی را برای آگاهی سایر برنامه ها بفرستند مبنی بر اینکه داده­ ی موردنظر دانلود شده و آماده­ استفاده است، این Broadcast Receiver است که پیغام را دریافت می کند و اقدامات مناسب را انجام می دهد.

یک broadcast receiver به صورت زیر کلاسی از کلاس BroadcastReceiver تعریف می شود و هر پیام به صورت یک شی Intent منتشر می شود.

public class MyReceiver  extends  BroadcastReceiver {
   public void onReceive(context,intent){}
}

Content Providers(ارائه دهنده محتوا)

یک مولفه content provider در صورت درخواست داده های یک اپلیکیشن را به سایر اپلیکیشن ها عرضه می کند. این درخواست ها به وسیله متدهای کلاس ContentResolver اداره می شوند. داده می تواند در سیستم فایل، پایگاه داده و یا کاملا در جایی دیگر ذخیره شود.

یک content provider به صورت زیر کلاسی از کلاس ContentProvider تعریف می شود و باید مجموعه­ استانداردی از API ها را پیاده سازی کند که سایر اپلیکیشن ها را قادر به اجرای تراکنش ها می سازند.

public class MyContentProvider extends  ContentProvider {
   public void onCreate(){}
}

ما در زمان پرداختن به مولفه های نرم افزار در فصل های جداگانه این دستورات را با جزئیات بررسی می کنیم.

مولفه های اضافی

مولفه های دیگری وجود دارند که در ساخت موجودیت های مطرح شده در بالا، منطق آن ها و اتصال بین آن ها استفاده می شوند. این مولفه ها عبارت اند از:

مولفه
Fragments (قطعات) نشان دهنده­ ی یک رفتار یا بخشی از واسط کاربری در یک Activity هستند.
Views عناصر واسط کاربری که بر روی صفحه کشیده می شوند مانند دکمه ها، فرم های لیستی و غیره
Layouts سلسله مراتب View ها که فرمت صفحه نمایش و ظاهر View ها را کنترل می کنند.
Intents مولفه های پیام ها را به هم متصل می کند.
Resources عناصر خارجی مانند رشته ها، ثوابت و تصاویر قابل ترسیم
Manifest فایل پیکر بندی مربوط به اپلیکیشن