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

  • چهارشنبه ۱۰ مرداد ۱۳۹۷
  • بازدید ۲,۲۹۳ نفر

تصویر android-architecture_2273 معماری اندروید - آموزش برنامه نویسی Android

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

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

تصویر android-architecture_2273_1 معماری اندروید - آموزش برنامه نویسی Android

هسته لینوکس (Linux kernel)

در لایه های پایینی لینوکس – لینوکس 3.6 با حدود 115 پچ (patch) قرار دارد. این موضوع باعث بوجود آمدن انتزاع بین سخت افزار دستگاه و تمام سخت افزار های ضروری مانند دوربین، صفحه کلید، صفحه نمایش و غیره می شود.

کتابخانه ها

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

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

این دسته شامل کتابخانه های مبتنی بر جاوا است که مخصوص توسعه اندروید هستند. نمونه هایی از کتابخانه های موجود در این دسته شامل کتابخانه های application framework، user interface، graphics drawing و database access می شوند.

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

android.app : دسترسی به مدل برنامه را فراهم می کند و سنگ بنای تمام برنامه های اندروید است.

android.content : دسترسی به محتوا، انتشار و پیام رسانی بین برنامه ها و اجزای برنامه را تسهیل می کند.

android.database: مورد استفاده برای دسترسی به داده های منتشر شده توسط ارائه دهندگان محتوا و شامل کلاس های مدیریت پایگاه داده SQLite.

android.opengl : یک رابط جاوا به API رندر گرافیکی OpenGL ES 3D.

android.os : برنامه ها را با دسترسی به سرویس های سیستم عامل استاندارد از جمله پیام ها، سرویس های سیستم و ارتباطات بین فرایند، فراهم می کند.

android.text : مورد استفاده برای رندر و دستکاری متن بر روی صفحه نمایش دستگاه.

android.view : بلوک های بنیادی اساسی رابط کاربر برنامه.

android.widget : مجموعه ای غنی از اجزای رابط کاربری پیش ساخته مانند buttons، labels، list views، layout managers،  radio buttons و غیره.

android.webkit : مجموعه ای از کلاس هایی است که به شما اجازه می دهد قابلیت های مرورگر وب را در برنامه های کاربردی وارد کنید.

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

Android Runtime

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

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

Application Framework

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

Application Framework شامل خدمات کلیدی زیر است:

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

Content Providers : امکان انتشار و به اشتراک گذاری داده های برنامه های کاربردی با سایر برنامه ها را فراهم می کند.

Resource Manager : دسترسی به منابع جاسازی نشده مانند رشته ها، تنظیمات رنگ و طرح بندی رابط کاربر را فراهم می کند.

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

System View : یک مجموعه گسترده ای از view ها که برای ایجاد رابط کاربر برنامه اندرویدی استفاده می شود.

Applications

تمامی برنامه های کاربردی اندروید در این بخش قرار می گیرند. برنامه ای که شما نوشته اید در این بخش نصب می گردد. چند نمونه از این گونه برنامه ها عبارت اند از: دفترچه تلفن، مرورگر، بازی ها و غیره.

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است