کامپوننت های اپلیکیشن بلاک های ضروری و اصلی یک اپلیکیشن اندرویدی هستند. در برنامه نویسی اندروید کامپوننت ها درون فایل شناسنامه ای یا همان AndroidManifest.xml تعریف و نحوه ی ارتباط آن با دیگر بخش های اپلیکیشن تعریف میشود.
در زیر چهار نوع کامپوننت ( component ) معرفی شده است که اصلی ترین و پرکاربرد ترین کامپوننت ها در برنامه نویسی اپلیکیشن های اندرویدی هستند :
نام کامپوننت | توضیحات و استفاده |
Activities | این کامپوننت هرچیزی که در صفحه ی نمایش به کاربر نمایش داده میشود را فراهم میکند هر چیزی که روی صفحه است یک اکتیویتی هست |
Services | پردازش هایی که نیاز است پشت صفحه انجام بگیرد وظیفه ی سرویس هاست مانند پخش موسیقی در پشت صفحه یا دانلود منیجر که یک فایل دانلود میکند |
Broadcast Receivers | این قسمت ارتباط بین سیستم عامل و اپلیکیشن را فراهم میکند |
Content Providers | این قسمت داده های بین اپلیکیشن ها یا دیتابیس را مدیریت میکند |
در ادامه به توضیح مفصل همه ی کامپوننت های اندرویدی میپردازیم.
هر اکتیویتی فعالیت درجریان روی صفحه ی نمایش است بعبارتی دیگر بخش های مختلف اپ که هرکدام یکبار توانایی نمایش در صفحه را دارند یک اکتیویتی هستند. برای مثال یک اپلیکیشن ایمیل باید اکتیویتی برای نمایش لیست ایمیل ها ، اکتیویتی برای ساختن و ارسال یک ایمیل جدید و اکتیویتی دیگر برای نمایش یک ایمیل خاص و ... را داشته باشد.
اگر یک اپلیکیشن بیش از یک اکتیویتی داشته باشد باید یکی از آنها بعنوان اکیتیوی اصلی یا لانچر معرفی شود تا موقعی که اپ برای اولین بار باز میشود آن اکتیویتی نمایش داده شود.
هر اکتیویتی در اندروید یک کلاس از زیرمجموعه ی کلاس اصلی Activity میباشد مثال زیر را ببینید :
public class MainActivity extends Activity {
}
هر سرویس یک کامپوننت از اندروید است که مخصوص انجام کارها در بک گراند است یعنی اگر کاری به مدت زمان زیادی نیاز دارد و نیاز نیست روی صفحه باشد در پشت پرده با استفاده از سرویس ها قابل انجام است.
برای مثال فرض کنید یک اپلیکیشن موزیک پلیر دارید که در بک گراند موسیقی پخش میکند بدون اینکه صفحه ی نمایش را درگیر کند و شما میتوانید در این زمان از دیگر اپ ها استفاده کنید
یا اگر قرار است یک فایلی دانلود شود نیاز نیست صفحه ی نمایش را به خود اختصاص دهد و تا اتمام دانلود در صفحه باقی بماند بلکه با سرویس میتواند در پشت صحنه کار دانلود خود را انجام دهد.
هر سرویس یک کلاس از زیر مجموعه ی Service میباشد نمونه کد زیر پیاده سازی ساده ی یک سرویس در اندروید است :
public class MyService extends Service {
}
کامپوننت Broadcast Receivers به پیام های صادر شده توسط دیگر اپلیکیشن ها یا توسط سیستم واکنش نشان میدهد. برای مثال ، یک اپلیکیشن میتواند زمانی که فایلی دانلود و تمام شد پیامی مبنی بر تمام شدن دانلود صادر کند. در این لحظه کامپوننت bradcast reciever هست که میفهمد دانلود تمام شده و این پیام صادر شده است و به آن عکس العمل مناسب که برنامه نویس اندروید نوشته است نشان میدهد.
هر کامپوننت broadcast receiver یک کلاس از زیر مجموعه ی کلاس اصلی BroadcastReceiver است و هر مسیج broadcast یک آبجکت از نوع Intent است. مثال زیر پیاده سازی ساده ی برودکست ریسایور :
public class MyReceiver extends BroadcastReceiver {
public void onReceive(context,intent){}
}
یک content provider داده هایی را از یک اپلیکیشن به یک اپلیکیشن دیگری تحویل میدهد البته بر اساس تقاضا و درخواست !
چنین درخواست هایی توسط متدهای کلاسی به نام ContentResolver رسیدگی می شوند.داده ها ممکن است در فایل سیستم ، پایگاه داده یا جای دیگری به طور کامل ذخیره شوند.
هر کامپوننت content provider بعنوان یک زیر کلاس از کلاس اصلی ContentProvider تعریف میشود و باید مجموعه استانداردی از API ها را پیاده سازی کند که سایر برنامه ها را قادر به انجام تبادل داده ها می کند. نمونه کد یک content provider :
public class MyContentProvider extends ContentProvider {
public void onCreate(){
}
}
برای هر کدام از بخش هایی که دراین درس مطالعه کردید و شاید سردرگم باشید نگران نباشید چون در درس های بعدی برای هر کدام آموزش های مفصلی داریم پس آموزش ها را حتما ادامه بدهید.
برخی از کامپوننت های اضافی در اندروید نیز وجود دارد که مطالعه ی آنها خالی از لطف نیست پس به آنها نیز در زیر اشاره کرده ایم.
نام | توضیحات |
Fragments | به شما اجازه میدهد یک اکتیویتی دیگر درون اکتیویتی در حال نمایش بسازید. |
Views | عناصر رابط کاربری یا UI اپ مانند دکمه ها ، لیست ها فرم ها و ... |
Layouts | لیوت های مختلف که ساختار رابط کاربری یا اسکلت انرا میتوانید بسازید |
Intents | پیام هایی که بین کامپوننت ها رد و بدل میشود |
Resources | منابع خارجی مانند تصاویر ،رشته ها ثابت ها و ... |
Manifest | شناسنامه یا محل تنظیمات عمومی و اصلی اپلیکیشن |
.
محصولات برگزیده مناسب شما