آموزش جامع برنامه نویسی آندروید
Android یک سیستم عامل تحت موبایل و مبتنی بر هسته ی Linux است. پروژه ی توسعه و ارتقا اندروید AOSP یا پروژه ی کد باز اندروید نام دارد که شرکت Google آن را رهبری می کند. سیستم عامل اندروید از چهار لایه تشکیل شده است، اما یک توسعه دهنده ی اندروید معمولا با دو لایه ی بالایی (Application و Application Framework) آن سروکار دارد.
سرویس، BroadcastReceiver و NotificationManager در اندروید
Service یک کامپوننت نرم افزاری است که در پس زمینه اجرا شده و مستقیما با کاربر تعامل ندارد. از آنجایی که سرویس فاقد رابط کاربری است، طبیعتا به چرخه ی حیات یک activity نیز متصل نمی باشد.
فرض کنید عملیاتی در برنامه اندرویدی خود دارید که بایستی بارها اجرا شود. در چنین شرایطی لازم است این را هم در نظر داشته باشید که سیستم اندروید ممکن است با توجه به شرایط activity ها و service ها را برای آزاد سازی منابع از حافظه حذف نماید. از این جهت نمی توانید برای زمان بندی تسک ها از کلاس های ساده ی محیط (platform) جاوا همچون TimerTask استفاده نمایید.
Broadcast receiverیک کامپوننت نرم افزاری در اندروید است که به شما این امکان را می دهد تا به event های مختلف گوش فرا دهید. به عبارت دیگر broadcast receiver یک نوع گوش فراخوان به رخدادها است. زمانی که رخداد یا event مورد نظر رخ می دهد، runtime سیستم اندروید تمامی receiver هایی که برای آن رخداد ثبت شده و به آن گوش می دهند را با خبر می کند.
در سیستم عامل اندروید توسعه دهنده قادر است با استفاده از notification هشدارهای سیستمی یا مربوط به اپلیکیشن را به کاربر نمایش دهد. اندروید به شما این امکان را می دهد تا notification ها را داخل titlebar اپلیکیشن خود نمایش دهید. کاربر می تواند بر روی notification تپ کرده، آن را باز نماید. سپس با انتخاب notification، یک activity و صفحه ی جدید را به اجرا در بیاورد.
سرویس backup گیری اندروید به توسعه دهنده این امکان را می دهد تا داده های ماندگار اپلیکیشن را در حافظه ی راه دور cloud ذخیره نماید. بدین وسیله زمانی که کاربر دستگاه اندروید خود را عوض می کند یا اپلیکیشنی را مجددا نصب می نماید و یا factory reset گوشی را فعال می کند، داده های اپلیکیشن و اطلاعات مربوط به تنظیمات همگی به راحتی قابل بازگردانی خواهد بود.
دستگاه های اندروید نسبت به کامپیوترهای رومیزی یا لپ تاپ قدرت و توانایی کمتری دارند. به همین دلیل بایستی در استفاده از حافظه دقت بیشتری داشته باشید. به ویژه از ویرایش 5.0 اندروید قبل تر، توسعه دهنده باید مراقب باشد تا حد امکان garbage collector دستگاه مجازی جاوا (JVM) را درگیر نکند چرا که این امر سبب freeze و هنگ کردن runtime اندروید به مدت 200 میلی ثانیه می شود.