ساختار اندروید یک دسته از اجزای نرم افزاری است ، که تقریبا به پنج بخش و چهار لایه اصلی تقسیم می شود .در نمودار بالا ساختار اندروید نشان داده شده است.
ساختار اندروید
ساختار اندروید در تصویر بالا وجود دارد که در ادامه متن به اختصار توضیح داده شده
کرنل لینوکس (Linux kernel)
در لایه های پایین لینوکس – لینوکس ۳٫۶ حدود ۱۱۵ تکه است.این سطح از برداشت بین سخت افزار دستگاه و تمامی درایورهای سخت افزاری ضروری است ،مانند:دوربین،صفحه کلید،صفحه نمایش و … است.
کتابخانه ها (Libraries)
در بالای لینوکس کرنل مجموعه ای از کتابخانه ها وجود دارد. از جمله: مرورگر وب منبع باز WebKit ، کتابخانه شناخته شده libc ، پایگاه داده SQLite است . که یک مخزن مفید برای ذخیره سازی و به اشتراک گذاری اطلاعات برنامه، کتابخانه ها برای پخش و ضبط صدا و ویدئو، SSL کتابخانه های مسئول امنیت اینترنت و … است.
مطلب پیشنهادی: بررسی اجمالی و تاریخچه اندروید
کتابخانه های اندروید
این دسته شامل کتابخانه هایی مبتنی بر جاوا است .که این دسته مخصوص توسعه دهندهای اندروید هستند. خلاصه ای از برخی از کتابخانه های هسته اصلی اندروید در دسترس توسعه دهندگان در زیر توضیح داده شده است.
دسته بندی کتابخانه های اندروید
• android.app: دسترسی به مدل برنامه را فراهم می کند و بنیاد تمام برنامه های اندرویدی است.
• android.content: دسترسی به محتوا، انتشار و پیام رسانی بین برنامه ها و اجزای برنامه را آسان می کند.
• android.database: مورد استفاده برای دسترسی به داده های منتشر شده توسط ارائه دهندگان محتوا است. همچنین شامل کلاس های مدیریت پایگاه داده SQLite است.
• android.opengl: یک متصل کننده جاوا به OpenGl ES 3D
• android.os: دسترسی برنامه ها به خدمات استاندارد سیستم عامل را فراهم میکند. از جمله پیام ها، سرویس های سیستم و ارتباطات بین فرایندها.
• android.text: مورد استفاده برای ارائه و دستکاری متن بر روی صفحه نمایش دستگاه.
• android.view: بلوک های اساسی رابط کاربری.
• android.webkit: مجموعه ای از طبقه هایی است که به شما اجازه می دهد قابلیت های مرور وب را در برنامه های کاربردی وارد کنید.
• android.widget: مجموعه ای غنی از اجزای رابط کاربری پیش ساخته شده است. مانند دکمه ها، برچسب ها، نمایش لیست ها، مدیریت طرح، دکمه های رادیویی و …
بعد از پوشش کتابخانه های هسته مبتنی بر جاوا در زمان اجرا اندروید، اکنون زمان توجه ما به کتابخانه های مبتنی بر C / C ++ موجود در این لایه از دسته نرم افزار اندروید است.
اجرا اندروید
این بخش سوم معماری است و در لایه دوم از پایین موجود است. این بخش جزء کلیدی به نام Dalvik Virtual Machine است که نوعی ماشین مجازی جاوا است. و به طور اختصاصی برای اندروید طراحی و بهینه سازی شده است.
VM Dalvik از ویژگی های اصلی لینوکس مانند مدیریت حافظه و چندریسمانی (multi-threading) استفاده میکند. و که در باطن زبان جاوا وجود دارند. VM Dalvik هر برنامه آندرویدی را برای اجرای در فرآیند خود، با نمونه خاصی از ماشین مجازی Dalvik فعال میکند. همچنین در زمان اجرا اندروید مجموعه ای از کتابخانه های اصلی را فراهم می کند که توسعه دهندگان نرم افزار اندروید را قادر می سازد تا برنامه های آندرویدی را با استفاده از زبان برنامه نویسی استاندارد Java بنویسند.
مطلب پیشنهادی: آموزش برنامه نویسی اندروید-محیط نصب
چارچوب برنامه (Application Framework)
چارچوب برنامه لایه بسیاری از سرویس های سطح بالا را به برنامه ها در قالب کلاس های جاوا ارائه می دهد. توسعه دهندگان برنامه اجازه استفاده از این سرویس ها را در برنامه های خود دارند.
چارچوب اندروید شامل خدمات کلیدی زیر است:
• Activity Manager: تمام جنبه های چرخه عمر برنامه و فعالیت های برنامه را کنترل می کند.
• Content Providers: ا جازه انتشار و به اشتراک گذاری داده های برنامه ها، با برنامه های دیگر را میدهد.
• Resource Manager: دسترسی به منابع تعبیه نشده را فراهم میکند. مانند رشته ها، تنظیمات رنگ و طرح بندی رابط کاربر
• Notifications Manager: به برنامه ها اجازه می دهد تا هشدارها و اعلان ها را برای کاربر نمایش دهند.
• View System: مجموعه ای گسترده که برای نمایش و ایجاد رابط کاربری برنامه استفاده می شود.
برنامه ها (Applications)
شما تمام برنامه های اندروید را در لایه های بالا پیدا خواهید کرد. و برنامه خودتان را در این لایه نوشته و نصب میکنید. برای مثال این برنامه ها عبارتند از: مخاطبین ، مرورگر ، بازی ها و …
منبع: tutorialspoint