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

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

هسته لینوکس _ Linux kernel

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

کتابخانه ها_ Libraries

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

کتابخانه های اندروید_ Android Libraries

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

  • 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 ارائه می شود که نوعی ماشین مجازی جاوا است که به ویژه برای اندروید طراحی و بهینه شده است.

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

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

Application Framework

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

چارچوب Android شامل خدمات کلیدی زیر است –

  • Activity Manager – تمام جنبه های چرخه عمر برنامه و پشته فعالیت را کنترل می کند.
  • Content Providers – به برنامه های کاربردی اجازه می دهد داده ها را با سایر برنامه ها به اشتراک بگذارند.
  • Resource Manager – دسترسی به منابع جاسازی نشده غیر کدی مانند رشته ها ، تنظیمات رنگ و طرح بندی رابط کاربری را فراهم می کند.
  • Notifications Manager – به برنامه ها اجازه می دهد تا هشدارها و اعلان ها را به کاربر نمایش دهند.
  • View System – مجموعه نمایش های گسترده ای که برای ایجاد واسط های کاربری برنامه استفاده می شود.

Applications

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

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.