آموزش android, برنامه نویسی اپلیکیشن موبایل

معماری سیستم عامل اندروید

آموزش اندروید|اندروید|android|آموزش زبان برنامه نویسی اندروید|آموزش برنامه نویسی اندروید |برنامه نویسی اندروید|آموزش اندروید|

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

Linux kernel

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

Libraries

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

Android Libraries

این رده شامل آن دسته از کتابخانه های مبتنی بر جاوا است که مخصوص توسعه اندروید است.
نمونه هایی از کتابخانه ها در این رده شامل کتابخانه های فریموورک
برنامه ها به علاوه ی  آنهایی که ساخت رابط کاربری,طراحی گرافیکی و دسترسی
به پایگاه داده را تسهیل می کنند. در زیر خلاصه ای از برخی کتابخانه های
کلیدی و اصلی اندروید موجود در توسعه ی اندروید آورده شده است:

  • app — دسترسی به مدل نرم افزار را فراهم می کند که در همه ی برنامه های اندرویدی وجود دارد.
  • content — دسترسی به محتوا, انتشارات و پیام های بین نرم افزار ها و قطعات برنامه را تسهیل می کند.
  • database — برای دسترسی به اطلاعات منتشر شده توسط ارائه دهندگان
    محتوا که شاملمدیریت کلاس های پایگاه داده ی SQLite است مورد استفاده قرار می گیرد.
  • opengl — یک رابط جاوا به OpenGL ES 3D برای بارگذاری گرافیکی API است.
  • os — برنامه های کاربردی با دسترسی به خدمات استاندارد
    سیستم عامل از جمله پیام ها, system services و ارتباطات inter-process را فراهم می کند.
  • text — برای ارائه و تغییر متن در صفحه نمایش دستگاه مورد استفاده قرار می گیرد.
  • view — برای ساختن قسمت های اساسی رابط کاربری برنامه مورد استفاده قرار می گیرد.
  • widget — مجموعه غنی است از اجزای رابط کاربر از پیش ساخته شده
    مانند دکمه ها، برچسب ها، ListView ها, مدیریت لیوت ها, radioButton ها و غیره.
  • webkit — مجموعه ای از کلاس های در نظر گرفته شده که اجازه می دهد
    قابلیت های مرورگر وب در برنامه های کاربردی ساخته شود.

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

Android Runtime

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

 

Application Framework

 

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

Android framework شامل خدمات کلیدی زیر است:

Activity Manager — تمام جنبه های چرخه حیات برنامه و دسته ی اکتیویتی را کنترل می کند.

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

Resource Manager — دسترسی به منابع جاسازی شده ی بدون کد مثل رشته ها,تنظیمات رنگ و لایه های رابط کاربری فراهم می کند.

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

View System — از مجموعه ی توسعه پذیر  view ها برای ایجاد واسط کاربر نرم افزار استفاده می کند.

Applications

شما می توانید تمام برنامه های اندرویدی را در لایه بالا پیدا کنید. در این لایه فقط قادر هستید
تا برنامه ها ی نوشته شده ی خودتان را نصب کنید.چند نمونه از این برنامه ها را
مثل مخاطبین, Books, مرورگرها,بازی ها و غیره میتوان نام برد.

 

مطالب مرتبط

پاسخی بگذارید