درس ۳- کامپوننت های اندروید

کامپوننت های اپلیکیشن بلاک های ضروری و اصلی یک اپلیکیشن اندرویدی هستند. در برنامه نویسی اندروید کامپوننت ها درون فایل شناسنامه ای یا همان AndroidManifest.xml تعریف و نحوه ی ارتباط آن با دیگر بخش های اپلیکیشن تعریف میشود.

 

کامپوننت های اصلی برنامه نویسی اندروید

 

در زیر چهار نوع کامپوننت ( component ) معرفی شده است که اصلی ترین و پرکاربرد ترین کامپوننت ها در برنامه نویسی اپلیکیشن های اندرویدی هستند :‌

 

نام کامپوننت توضیحات و استفاده
Activities این کامپوننت هرچیزی که در صفحه ی نمایش به کاربر نمایش داده میشود را فراهم میکند هر چیزی که روی صفحه است  یک اکتیویتی هست
Services پردازش هایی که نیاز است پشت صفحه انجام بگیرد وظیفه ی سرویس هاست مانند پخش موسیقی در پشت صفحه یا دانلود منیجر که یک فایل دانلود میکند
Broadcast Receivers  این قسمت ارتباط بین سیستم عامل و اپلیکیشن را فراهم میکند
Content Providers  این قسمت داده های بین اپلیکیشن ها یا دیتابیس را مدیریت میکند

 

در ادامه به توضیح مفصل همه ی کامپوننت های اندرویدی میپردازیم.

 

Activities یا اکتیویتی ها در اندروید

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

اگر یک اپلیکیشن بیش از یک اکتیویتی داشته باشد باید یکی از آنها بعنوان اکیتیوی اصلی یا لانچر معرفی شود تا موقعی که اپ برای اولین بار باز میشود آن اکتیویتی نمایش داده شود.

هر اکتیویتی در اندروید یک کلاس از زیرمجموعه ی کلاس اصلی Activity میباشد مثال زیر را ببینید : 

public class MainActivity extends Activity {

}

 

سرویس ها ( services ) در اندروید

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

برای مثال فرض کنید یک اپلیکیشن موزیک پلیر دارید که در بک گراند موسیقی پخش میکند بدون اینکه صفحه ی نمایش را درگیر کند و شما میتوانید در این زمان از دیگر اپ ها استفاده کنید 

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

هر سرویس یک کلاس از زیر مجموعه ی Service میباشد نمونه کد زیر پیاده سازی ساده ی یک سرویس در اندروید است :‌

public class MyService extends Service {

}

 

کامپوننت Broadcast Receivers در اندروید

کامپوننت  Broadcast Receivers به پیام های صادر شده توسط دیگر اپلیکیشن ها یا توسط سیستم واکنش نشان میدهد. برای مثال ، یک اپلیکیشن میتواند زمانی که فایلی دانلود و تمام شد پیامی مبنی بر تمام شدن دانلود صادر کند. در این لحظه کامپوننت bradcast reciever هست که میفهمد دانلود تمام شده و این پیام صادر شده است و به آن عکس العمل مناسب که برنامه نویس اندروید نوشته است نشان میدهد.

هر کامپوننت 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 provider :‌

public class MyContentProvider extends  ContentProvider {

   public void onCreate(){

}

}

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

 

کامپوننت های اضافی اندروید

برخی از کامپوننت های اضافی در اندروید نیز وجود دارد که مطالعه ی آنها خالی از لطف نیست پس به آنها نیز در زیر اشاره کرده ایم.

 

نام توضیحات
Fragments  به شما اجازه میدهد یک اکتیویتی دیگر درون اکتیویتی در حال نمایش بسازید. 
Views  عناصر رابط کاربری یا UI اپ مانند دکمه ها ، لیست ها فرم ها و ...
Layouts لیوت های مختلف که ساختار رابط کاربری یا اسکلت انرا میتوانید بسازید
Intents  پیام هایی که بین کامپوننت ها رد و بدل میشود
Resources  منابع خارجی مانند تصاویر ،‌رشته ها  ثابت ها و ...
Manifest  شناسنامه یا محل تنظیمات عمومی و اصلی اپلیکیشن

.


محصولات برگزیده مناسب شما