آموزش برنامه نویسی اندروید – قسمت سوم – معماری اندروید

android architecture

معماری اندروید

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

معماری اندروید

هسته لینوکس

در پایین ترین لایه لینوکس است- لینوکس ۳٫۶ با حدود ۱۱۵ پچ (patches). این سطح یک سطح انتزاعی بین سخت افزار دستگاه فراهم می کند و آن شامل تمام درایورهای سخت افزاری ضروری مانند دوربین، صفحه کلید، صفحه نمایش و غیره است. همچنین، هسته همه چیزهایی که لینوکس در آنها واقعا خوب است را بکار می برد از قبیل شبکه و آرایه وسیعی از درایور های دستگاه.

کتابخانه 

در بالای هسته لینوکس است. مجموعه ای از کتابخانه­ها شامل موتور مرورگر اینترنتی سورس باز WebKit که به عنوان کتابخانه libc شناخته شده است، پایگاه داده SQLite که یک مخزن برای ذخیره سازی و به اشتراک گذاری داده های برنامه ها است، کتابخانه ها برای پخش و ضبط صدا و ویدئو، کتابخانه SSL مسئول امنیت اینترنت و غیره.

کتابخانه اندروید

این دسته شامل کتابخانه مبتنی بر جاوا است که مخصوص توسعه اندروید می باشد. نمونه هایی از کتابخانه ها در این دسته،کتابخانه چارچوب برنامه (application framework) است. علاوه بر آن ساختن رابط کاربری، طراحی گرافیک و دسترسی به پایگاه داده را تسهیل می کند. خلاصه ای از برخی از کتابخانه های کلیدی هسته اندروید  که در دسترس توسعه دهندگان اندروید هستند به شرح زیر است:

  • app: دسترسی به مدل برنامه کاربردی را فراهم می کند و اساس تمام برنامه های کاربردی اندروید است.
  • content: تسهیل دسترسی محتوا، چاپ و نشر و پیام رسانی بین برنامه های کاربردی و لوازم جانبی نرم افزار.
  • database: برای دسترسی به داده های منتشر شده توسط ارائه دهندگان محتوا استفاده می شود و شامل کلاس مدیریت پایگاه داده  SQLite است.
  • opengl: رابط کاربری جاوا به گرافیک OpenGL ES 3D رندر API.
  • os: ارائه برنامه های کاربردی با دسترسی به خدمات سیستم عامل استاندارد از جمله پیام ها، خدمات سیستم و ارتباط بین فرایندها.
  • text : مورد استفاده برای ارائه و دستکاری متن بر روی صفحه نمایش دستگاه.
  • view: ساخت بلوک های اساسی رابط کاربر نرم افزار.
  • widget : مجموعه ای غنی از اجزای رابط کاربری از پیش ساخته شده مانند دکمه ها، برچسب، نمایش لیست، مدیریت طرح، دکمه های رادیویی و غیره
  • webkit: مجموعه ای از کلاس های از قبل تعریف شده که اجازه می دهد تا قابلیت مرورگر وب در برنامه های کاربردی ساخته شود.

پس از پوشش کتابخانه هسته مبتنی بر جاوا در زمان اجرا اندروید، نوبت توجه به کتابخانه مبتنی بر ++C / C  موجود در این لایه از پشته نرم افزار اندروید است.

اندروید در زمان اجرا

این قسمت سومین بخش از معماری است و بر روی لایه دوم از پایین قرار گرفته است. این بخش یک جزء کلیدی به نام Dalvik Virtual Machine  را ارائه می دهدکه یک نوع از ماشین مجازی جاوا است و ویژه طراحی و بهینه سازی برای اندروید است.

Dalvik VM از ویژگی های هسته لینوکس مانند مدیریت حافظه و چند نخی استفاده می کند، که در زبان جاوا نیز طبیعی است. Dalvik VM هر برنامه کاربردی اندروید را به اجرای فرایندهای خود قادر می سازد ، با نمونه خودش از ماشین مجازی Dalvik.

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

چارچوب برنامه کاربردی

لایه چارچوب برنامه کاربردی، سرویس های سطح بالا برای برنامه های کاربردی در قالب کلاس های جاوا فراهم می کند. توسعه دهندگان برنامه های کاربردی مجاز به استفاده از این خدمات در برنامه های خود هستند.

چارچوب اندروید شامل خدمات کلیدی زیر است:

 

Activity Manager – تمام جنبه های چرخه حیات برنامه های کاربردی و فعالیت پشته را کنترل می کند.

Content Providers – به برنامه های کاربردی اجازه انتشار و اشتراک گذاری داده ها با دیگر برنامه های کاربردی را می دهد.

Resource Manager – دسترسی به غیر کد های قرار گرفته در  منابع مانند رشته ها، تنظیمات رنگ و طرح بندی رابط کاربر را فراهم می کند.

Notifications Manager – اجازه می دهد تا برنامه های کاربردی هشدارها و اطلاعیه هایی را به کاربر نشان دهند.

View System – یک مجموعه قابل توسعه از دیدگاه­ها که برای ایجاد رابط کاربر برنامه کاربردی استفاده می شوند.

برنامه های کاربردی

تمام برنامه های کاربردی اندروید در لایه بالایی قرار دارند. شما برنامه کاربردی خودتان را خواهید نوشت تا تنها در این لایه نصب شوند. نمونه هایی از چنین برنامه های کاربردی مخاطبان کتابها، مرورگر، بازی­ها و غیره است.

برچسب ها

ممکن است به این موارد نیز علاقه مند باشید:

0 دیدگاه در “آموزش برنامه نویسی اندروید – قسمت سوم – معماری اندروید”

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

کد امنیتی را در کادر زیر بنویسید *

به ما بپیوندید