ویژگی های کامپوننت های اصلی اندروید

اگر از سیستم عامل اندروید استفاده می کنید و یا می خواهید در این حوزه برنامه نویسی کنید با توجه به توسعه برنامه های اندرویدی باید با اجزا آن آشنا شوید ، کامپوننت های اصلی اندروید از عناصر اصلی ساخت یک برنامه اندرویدی هستند این کامپوننت ها شامل Activity،Views،Services،Content Providers می شوند.Activityیک activity یا فعالیت نشان دهنده یک صفحه منفرد با یک رابط کاربر است به عنوان مثال ، یک برنامه ایمیل ممکن است فعالیتی داشته باشد که لیستی از ایمیل های جدید را نشان دهد ، فعالیت دیگری برای نوشتن ایمیل و فعالیت دیگری برای خواندن ایمیل ها داشته باشد اگرچه این فعالیت ها با هم همکاری می کنند تا تجربه کاربری منسجمی را در برنامه ایمیل ایجاد کنند ، با این حال از همدیگر مستقل هستند به همین ترتیب اگر برنامه ایمیل اجازه دهد ، برنامه دیگری هم می تواند هر یک از این فعالیت ها را شروع کند.به عنوان مثال ، یک برنامه دوربین می تواند فعالیتی را در برنامه ایمیل شروع کند که ایمیل جدیدی را ایجاد می کند تا کاربر بتواند یک عکس را به اشتراک بگذارد . اگر برنامه ای بیش از یک فعالیت داشته باشد ، یکی از آنها باید به عنوان فعالیتی که هنگام راه اندازی برنامه ارائه می شود علامت گذاری شودیک فعالیت بصورت زیر کلاس کلاس Activity بصورت زیر پیاده سازی می شود:{}public class MainActivity extends Activity اکنون ببینیم که یک Activity را چگونه می توان ایجاد کرد. در حقیقت برای ایجادActivity ها دو راه وجود دارد : راه اول که به صورت دینامیک و پویا است از برنامه نویسی جاوا استفاده می شود و راه دوم از XML استفاده می شود. روشی که بیشتر استفاده می گردد، طراحی Activity ها با استفاده از XML است زیرا این کار آسان تر است همچنین با پیروی از استفاده از این روش کد های مربوط به GUI یا محیط گرافیکی را از کد های مربوط به نحوه عملکرد عناصر داخل این محیط گرافیکی که در زبان جاوا نوشته می شوند را می توان از یکدیگر جدا ساخت و بااین روش Debug کردن اپلیکیشن هم آسان تر می شود. servicesیک service یا سرویس به دلایل مختلف، جایی برای اهداف عمومی برای اجرای برنامه در پس زمینه است. سرویس کامپوننتی است که برای انجام عملیات طولانی مدت یا انجام کار برای فرآیندهای از راه دور در پس زمینه اجرا می شود. یک سرویس رابط کاربری ارائه نمی دهد. به عنوان مثال ، ممکن است یک سرویس در پس زمینه موسیقی را پخش کند ، در حالی که کاربر در برنامه دیگری است ، یا ممکن است داده ها را از طریق شبکه دریافت کند بدون اینکه تعامل کاربر با یک فعالیت مسدود شود ، در این حالت یک فعالیت دیگر ، می تواند سرویس را شروع کرده و اجازه دهد تا برای تعامل با آن اجرا شود یا به آن متصل شود. در واقع دو سرویس کاملاً متمایزکه تازه شروع شده اند در مورد نحوه مدیریت یک برنامه به سیستم می گویند که تا زمانی که کارشان به پایان نرسد ، آنها را فعال نگه دارد. که می تواند همگام سازی برخی از داده ها در پس زمینه یا پخش موسیقی حتی پس از ترک کاربر از برنامه همچنان باشد. همگام سازی داده ها در پس زمینه یا پخش موسیقی نیز همراه است.سرویس بصورت زیر پیاده سازی می شود:{}public class MyService extends Service servicesBroadcast Reciverگیرنده پخش یا Broadcast Reciver یک کامپوننت است که سیستم را قادر می سازد به برنامه اجازه دهد تا به اعلامیه های پخش در سراسر سیستم پاسخ دهد. از آنجا که گیرنده های پخش یکی دیگر از ورودی های کاملاً مشخص شده در برنامه هستند ، این سیستم می تواند حتی به برنامه هایی که در حال حاضر اجرا نمی شوند ، پخش را تحویل دهد.بنابراین ، به عنوان مثال ، یک برنامه می تواند یک زنگ هشدار را برای ارسال یک اعلان برنامه ریزی کند تا به کاربر در مورد یک رویداد آینده بگوید و با تحویل آن زنگ به BroadcastReceiver برنامه دیگر نیازی به اجرای برنامه تا زمان زنگ نیست و هشدار خاموش می شود. بسیاری از پخش ها از سیستم سرچشمه می گیرند به عنوان مثال ، پخش کننده ای اعلام می کند صفحه خاموش است ، باتری کم است یا تصویری گرفته شده است. برنامه ها همچنین می توانند پخش را آغاز کنند به عنوان مثال ، برنامه ای به برنامه های دیگر اطلاع دهد که برخی از داده ها در دستگاه بارگیری شده اند و برای استفاده آنها در دسترس است. اگرچه گیرنده های پخش رابط کاربری را نمایش نمی دهند ، اما ممکن است یک اعلان نوار وضعیت ایجاد کنند تا هنگام وقوع یک رویداد پخش به کاربر هشدار دهند گرچه معمولاً یک گیرنده پخش فقط دروازه ای برای سایر component هاست و برای انجام کار بسیار کمی در نظر گرفته شده است.Broadcast Reciver به صورت زیر پیاده سازی می شود:} public class MyReceiver extends BroadcastReceiver {}(public void onReceive(context,intent{content providersیک content providers یا ارائه دهنده محتوا مجموعه داده های برنامه مشترکی که در سیستم فایل ، پایگاه داده SQLite ، وب یا هر مکان ذخیره سازی مداوم دیگری که برنامه شما دسترسی دارد را می تواند مدیریت کند. اگر ارائه دهنده محتوا اجازه دهد ، از طریق ارائه دهنده محتوا سایر برنامه ها می توانند داده ها را جستجو و یا تغییر دهند.به عنوان مثال سیستم Android یک ارائه دهنده محتوا ارائه می دهد که اطلاعات تماس کاربر را مدیریت می کند. به همین ترتیب هر برنامه ای با مجوزهای مناسب می تواند از ارائه دهنده محتوا درخواست کند مانند ContactsContract.Data برای خواندن و نوشتن اطلاعات در مورد یک شخص خاص.یک ارائه دهنده محتوا به عنوان یک زیر کلاس از کلاس ContentProvider پیاده سازی می شود و باید یک مجموعه استاندارد API را اجرا کند که سایر برنامه ها را قادر به اجرای معاملات می کند.content providers به صورت زیر پیاده سازی می شود:}public class MyContentProvider extends ContentProvider{}()public void onCreate{content providersوظیفه فایل manifestوظیفه اصلی مانیفست اطلاع رسانی به سیستم در مورد اجزای برنامه است اطلاعات ضروری در مورد برنامه های شما را به سیستم اندروید ارائه می کند، که باید قبل از اینکه بتواند هر کدی را اجرا کند آنها را در اختیار داشته باشد.قبل از اینکه سیستم Android بتواند یک جز component برنامه را شروع کند ، سیستم باید بداند که این جز component با خواندن فایل مانیفست برنامه وجود دارد AndroidManifest.xml. برنامه شما باید تمام کامپوننت های خود را در این فایل به اندروید معرفی کند، از طرفی مجوزهایی که کاربر برای نصب برنامه باید صادر کند را هم شامل می شود.برای مثال برنامه ای مجوز فعال کردن دوربین را درخواست می کند.اجزای دیگری هم وجود دارد که در ساخت کامپوننت هایی که ذکرشد به کار می رود که شامل موارد زیر است:Fragments بخشی از رابط کاربری را در یک فعالیت نشان می دهد.views عناصر UI که روی صفحه نشان داده می شوند از جمله دکمه ها ، فرم های لیست و غیرهLayouts سلسله مراتبی را نشان می دهند که قالب صفحه و شکل ظاهری نماها را کنترل می کنند.Intents کامپوننت ها را با هم ارتباط می دهند.Resources عناصر خارجی ، مانند رشته ها ، ثابت ها و تصاویر قابل ترسیم.جمع بندیبا توجه به مطالب گفته شده کامپوننت های اندروید از اجزای اصلی اندروید می باشند که برای یادگیری حوزه طراحی اپلیکیشن و اندروید باید با عناصر اصلی ساخت برنامه اندرویدی آشنا شوید همچنین اندروید شامل کامپوننت های دیگری هم می باشد که در این مطلب به مهم ترین آنها اشاره شد.