اجزای application، بلوک های اساسی سازنده یک برنامه اندروید هستند. این مؤلفهها توسط فایل مانیفست ( AndroidManifest.xml ) برنامه که هر مؤلفه برنامه و نحوه تعامل آنها را توضیح میدهد، باید اعلام گردند.
چهار اجزای اصلی زیر وجود دارد که می توانند در یک اپ Androidی استفاده شوند:
اجزا و توضیحات | ردیف |
Activity
این اجزای application مدیریت UI را انجام میدهد و تعامل کاربر را با صفحه تلفن هوشمند مدیریت می کند. |
1 |
Service
این اجزای application پردازش پس زمینه مرتبط با یک برنامه را مدیریت می کند. |
2 |
Broadcast Receiver
این اجزا ارتباط بین سیستم عامل اندروید و برنامه ها را مدیریت می کنند. |
3 |
Content Provider
این اجزا مسائل مربوط به مدیریت داده ها و پایگاه داده را مدیریت می کنند. |
4 |
Activity
یک اکتیویتی نشان دهنده یک صفحه منفرد با یک رابط کاربری است، به طور خلاصه Activity اقداماتی را روی صفحه انجام می دهد. به عنوان مثال، یک برنامه ایمیل ممکن است یک Activity داشته باشد که لیستی از ایمیل های جدید را نشان می دهد، Activity دیگری نیز برای نوشتن ایمیل و Activity دیگری برای خواندن ایمیل ها داشته باشد. اگر یک برنامه بیش از یک Activity داشته باشد، یکی از آنها باید به عنوان Activityی که هنگام راه اندازی برنامه ارائه می شود علامت گذاری شود.
یک اکتیویتی به عنوان زیر کلاس از کلاس Activity به صورت زیر پیاده سازی می شود :
public class MainActivity extends Activity { }
اما در نسخه های جدیدتر اندروید دیگر از کلاس Activity بطور مستقیم استفاده نمیشود و بجای آن از کلاس AppCompatActivity استفاده میشود به این شکل :
public class MainActivity extends AppCompatActivity{ }
Service
یک سرویس اجزای است که در پس زمینه برای انجام عملیات طولانی مدت اجرا می شود. بعنوان مثال، یک سرویس ممکن است زمانی که کاربر در برنامه دیگری است، موسیقی را در پسزمینه پخش کند، یا ممکن است دادهها را از طریق شبکه واکشی کند بدون اینکه تعامل کاربر با یک اکتیویتی را مسدود کند
یک سرویس به عنوان زیر کلاس از کلاس Service به صورت زیر پیاده سازی می شود :
public class MyService extends Service { }
Broadcast Receiver
Broadcast Receiverها به سادگی به پیام های Broadcast شده از سایر برنامه ها یا از سیستم, پاسخ می دهند. برای مثال، برنامهها همچنین میتوانند Broadcast را خودشان انجام دهند تا به سایر برنامهها اطلاع دهند که برخی از دادهها در دستگاه دانلود شده و برای استفاده در دسترس است، بنابراین این Broadcast Receiver است که این ارتباط را رهگیری کرده و اقدام مناسب را اجرا خواهد کرد.
یک Broadcast Receiver بعنوان یک زیر کلاس از کلاس BroadcastReceiver پیاده سازی می شود و هر پیام Broadcast شده بعنوان یک شی Intent در دسترس خواهد بود. کدی های زیر را ببینید:
public class MyReceiver extends BroadcastReceiver { public void onReceive(context,intent){} }
Content Provider
یک اجزای Content Provider، دادههای یک برنامه را در صورت درخواست به برنامههای دیگر ارائه میکند. چنین درخواست هایی توسط متدهای کلاس ContentResolver رسیدگی می شود. داده ها ممکن است در سیستم فایل، پایگاه داده یا جای دیگری به طور کامل ذخیره شوند.
یک Content Provider بعنوان یک زیر کلاس از کلاس ContentProvider پیادهسازی میشود و باید مجموعه استانداردی از APIها را پیادهسازی کند که سایر برنامهها را قادر به انجام تراکنشها کند. برای ایجاد یک کلاس Content Provide به این شکل عمل کنید:
public class MyContentProvider extends ContentProvider { public void onCreate(){} }
اجزای اضافی
اجزای اضافی وجود دارد که در ساختن موجودیت های ذکر شده در بالا، منطق آنها و سیم کشی بین آنها استفاده می شود. این اجزا را در پایین آورده ایم:
اجزا و توضیحات | ردیف |
Fragments
نمایانگر بخشی از رابط کاربری در یک Activity است که میتوان بصورت تک گانه آن را ایجاد کرد. |
1 |
Views
عناصر رابط کاربری که روی صفحه ترسیم می شوند شامل دکمه ها، فرم های لیست و … |
2 |
Layouts
مشاهده سلسله مراتبی که فرمت صفحه و ظاهر نماها را کنترل می کنند. |
3 |
Intents
اجزای سیم کشی را با هم پیام می دهد. |
4 |
Resources
عناصر خارجی مانند رشته ها، ثابت ها و تصاویر قابل ترسیم. |
5 |
Manifest
فایل پیکربندی و اصلی برنامه ها |
6 |