معماری اندروید (Android architecture) چیست و چه کاربردی دارد؟

معماری اندروید - معماری سیستم عامل اندروید - کامپوننت های اندروید - لایه های اندروید | آموزشگاه آنلاین آموزش برنامه نویسی اندروید الکامکو

معماری اندروید (Android architecture) چیست و چه کاربردی دارد و چرا باید در آموزش برنامه نویسی اندروید به عنوان یک برنامه نویس اندروید با این لایه ها آشنایی داشته باشید؟ ما در این مقاله قصد داریم تا شما را ساختار معماری سیستم عامل اندروید آشنا کنیم. با ما همراه باشید.

معماری اندروید چیست؟ 

معماری اندروید (Android architecture) مجموعه ای از چندین جزء نرم افزاری (software components) است که از چند لایه تشکیل شده است و هر لایه از لایه زیرین خود استفاده می کند. همواره لایه ای بودن معماری ها برای این است تا کار کاربران نهایی و برنامه نویسان کاربردی راحت تر شود و آنها را درگیر جزئیات سخت افزاری و پیچیدگی های سیستم عامل نمی کند. اما اگر می خواهید یک برنامه نویس سیستمی برای اندروید شوید بایدکار با این لایه ها را یاد بگیرید.

کامپوننت های اصلی معماری اندرویدی از پنج لایه تشکیل شده اند که عبارتند از:

  • برنامه های کاربردی (Applications)
  • فریم ورک اندروید (Applications Framework)
  • زمان اجرای اندروید (Android Runtime)
  • کتابخانه های بستر های نرم افزاری (Platform Libraries)
  • هسته لینوکس (Linux Kernel)

در این کامپوننت ها، هسته لینوکس مهمترین کامپوننت اندرویدی است و عملکرد سیستم عامل موبایل را کنترل می کند تا موبایل و ماشین مجازی دالویک (Dalvik Virtual Machine (DVM پاسخگوی اجرای اپلیکیشن موبایل باشند.

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

معماری اندروید - معماری سیستم عامل اندروید - کامپوننت های اندروید - لایه های معماری اندروید | مرجع آموزش برنامه نویسی اندروید الکامکو

نمودار معماری اندروید با چند مؤلفه

لایه اول معماری اندروید : برنامه های کاربردی (Applications)

اولین لایه یا به عبارتی بالاترین لایه ی معماری اندروید برنامه های کاربردی (Applications) هستند. شامل همه برنامه های نصب شده در دستگاه مانند: برنامه های مخاطبین، برنامه های ایمیل، برنامه های موسیقی، برنامه های گالری، برنامه های ساعت، بازی ها و غیره…. خلاصه هر آنچه را که بسازیم فقط در این لایه نصب می شود.

لایه Applications با استفاده از کلاس ها و خدماتی که در چارچوب برنامه موجود است، در مدت زمان اجرای اندروید (ران تایم) اجرا می شود.

لایه دوم معماری اندروید : فریم ورک اندروید (Applications Framework)

فریم ورک اندروید (Applications Framework)، کلاسهای مورد استفاده برای ایجاد برنامه های کاربردی اندروید را فراهم می کند. همچنین یک انتزاع عمومی برای دسترسی به سخت افزار را فراهم می کند و رابط کاربری و منابع برنامه را مدیریت می کند. در اصل خدماتی را ارائه می دهد که از طریق آنها می توانیم کلاس خاصی ایجاد کنیم و آن کلاس را برای ایجاد برنامه کاربردی بکار ببریم.

فریم ورک اندروید شامل خدماتی مانند سرویس تلفن، خدمات موقعیت مکانی، مدیر اطلاع رسانی، سرویس NFC، سیستم مشاهده و غیره می باشد که ما مطابق با نیازهای خود می توانیم برای توسعه برنامه از آنها استفاده کنیم.

لایه سوم معماری اندروید : زمان اجرای اندروید (Android Runtime)

ران تایم اندروید (Android Runtime) که به آن (ART) هم گفته می شود، نرم‌افزار جدیدی است که به صورت آزمایشی در نگارش ۴٫۴ سیستم‌عامل اندروید توسط شرکت گوگل عرضه شده‌است و وظیفهٔ اجرای نرم‌افزارهای سیستم‌عامل اندروید را برعهده می گیرد.

محیط Android Runtime بخش مهمی از اندروید است و شامل اجزایی مانند کتابخانه های هسته (core libraries) و ماشین مجازی  دالویک (Dalvik virtual machine) است. ران تایم موتور محرکه برنامه های ما به همراه کتابخانه ها است و پایه و اساس فریم ورک را تشکیل می دهد.

ماشین مجازی دالویک (Dalvik virtual machine) چیست؟ یک ماشین مجازی مبتنی بر ثبت نام مانند ماشین مجازی جاوا (JVM) است. این برنامه تنها برای هسته اندروید طراحی و بهینه شده است و وظیفه ی پردازش کل اندروید را دارد و مثل مغز انسان برای اندروید می باشد تا اطمینان حاصل شود که یک دستگاه می تواند چندین نمونه را به طور کارآمد اجرا کند. این نرم افزار برای هسته بندی و مدیریت حافظه سطح پایین به هسته لینوکس متکی است.

کتابخانه های هسته (core libraries) در زمان اجراي اندرويد، ما را قادر مي سازد تا برنامه هاي اندرويد را با استفاده از زبان برنامه ريزي JAVA استاندارد اجرا كنيم.

لایه چهارم معماری اندروید : کتابخانه های بستر های نرم افزاری (Platform Libraries)

کتابخانه اندروید یا Platform Libraries شامل کتابخانه های اصلی C / C ++ و کتابخانه های مبتنی بر جاوا مانند SSL ، libc ، Graphics ، SQLite ، Webkit ، Media ، Surface Manger ، OpenGL و غیره است تا از توسعه اندروید پشتیبانی کند.

آموزش کار با کتابخانه های آماده کد اندروید Android Libraries

  • کتابخانه رسانه ای برای پخش و ضبط قالب های صوتی و تصویری
  • کتابخانه مدیر سطح برای ارائه یک مدیریت نمایشگر
  • کتابخانه SGL و OpenGL Graphics برای گرافیک 2D و 3D
  • SQLite برای پشتیبانی پایگاه داده و FreeType برای پشتیبانی از فونت
  • Web-Kit برای پشتیبانی از مرورگر وب و SSL برای امنیت اینترنت

کتابخانه کدهای آماده مخصوص سیستم عامل اندروید کدام ها هستند؟ 

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

لیستی از مهمترین کتابخانه های آماده اندروید:

  • کتابخانه android.app : این کتابخانه امکان دسترسی به مدل برنامه (application model) را امکان پذیر می سازد و پایه و اساس کلیه برنامه ها اندروید است.
  • کتابخانه android.countent : این کتابخانه دسترسی به محتوای برنامه را راحت می کند و این امکان را فراهم می کند تا پیام و اطلاعات بین برنامه و اجزای برنامه تبادل شود.
  • کتابخانه android.database : این کتابخانه امکان دسترسی به اطلاعات تولید شده توسط فراهم کننده های محتوی برنامه را ساخته و شامل کلیه کلاس های مدیریت پایگاه داده SQLite می شود.
  • کتابخانه android.opengl : این کتابخانه یک رایط کاربری مبتنی بر جاوا است که باعث اجرا و رندر شدن اشکال گرافیکی سه بعدی برنامه توسط OpenGL می شود.
  • کتابخانه android.os : این کتابخانه امکان دسترسی برنامه های به سرویس های استاندارد سیستم عامل مثل پیام دهی و تبادل اطلاعات، سرویس های سیستمی و رابط بین اجزای درونی نرم افزار را فراهم می کند.
  • کتابخانه android.text : این کتابخانه برای رندرکردن و دستکاری متن (text) در صفحه نمایش دستکاه اندروید به کار می رود.
  • کتابخانه android.view : این کتابخانه شامل کلاس ها و کدهای اساسی و اصلی جهت تولید رابط کاربری برنامه می باشد.
  • کتابخانه android.widget : این کتابخانه شامل مجموعه ای کامل از اجزای برنامه مثل دکمه ها (buttons، lables، لیست list views، مدیریت کننده لایه ها layout manager، دکمه های رادیویی radio buttons و …) می باشد.
  • کتابخانه android.webkit : این کتابخانه حاوی کلاس هایی است که قابلیت های مرور وب (web browsing) را به برنامه اندروید اضافه می کند.

لایه پنجم معماری اندروید : هسته لینوکس (Linux Kernel)

هسته لینوکس (Linux Kernel) هسته اصلی اندروید است و پایین ترین لایه در معماری اندروید می باشد و در واقع قلب معماری اندروید می باشد. این لایه مسئولیت مدیریت همه درایورهای دستگاه مانند درایورهای صفحه نمایش، درایورهای دوربین، درایورهای بلوتوث، درایورهای صوتی، درایورهای حافظه و غیره را که عمدتاً برای دستگاه اندرویدی در زمان اجرا لازم است را مدیریت می کند.

جدیدترین دوره ها
آموزش ساخت اپلیکیشن فروشگاهی اندروید دیجی کالا Digikala - سورس دیجی کالا php - الکامکو
دوره آموزش ساخت اپلیکیشن اندروید فیلیمو - خرید اشتراک فیلیمو - خرید اشتراک فیلم - برنامه فیلیمو برای اندروید - ساخت اپلیکیشن فیلم و سریال - ساخت برنامه فیلیمو | مرجع آموزش برنامه نویسی اندروید الکامکو
آموزش طراحی رابط کاربری (طراحی UI اندروید) و آموزش طراحی تجربه کاربری (طراحی UX اندروید) - آموزش برنامه نویسی اندروید الکامکو
مشاهده همه دوره های آموزش برنامه نویسی اندروید الکامکو
{ آموزشگاه آنلاین الکامکو }

مرجع آموزش برنامه نویسی اندروید
طراحی اپلیکیشن موبایل
طراحی سایت

با نوشتن این مقاله توانستیم به شما در بررسی معماری در اندروید و شناسایی کامپوننت های اندروید کمک کنیم؟ در صورتی که سوال و  یا نظری در این رابطه دارید خوشحال می شویم زیر همین پست با ما درمیان بگذارید.

اشتراک گذاری این صفحه در شبکه های اجتماعی:

سوالات و نظرات خود را در این بخش مطرح کنید

avatar
فهرست