معماری اندروید (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، سیستم مشاهده و غیره می باشد که ما مطابق با نیازهای خود می توانیم برای توسعه برنامه از آنها استفاده کنیم.

همچنین بخوانید: Java با JavaScript فرق می کند! 

همچنین بخوانید: انواع نسخه های جاوا، اخرین نسخه زبان جاوا، فهمیدن ورژن جاوا، کدام نسخه جاوا بهتر است؟

لایه سوم معماری اندروید : زمان اجرای اندروید (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) هسته اصلی اندروید است و پایین ترین لایه در معماری اندروید می باشد و در واقع قلب معماری اندروید می باشد. این لایه مسئولیت مدیریت همه درایورهای دستگاه مانند درایورهای صفحه نمایش، درایورهای دوربین، درایورهای بلوتوث، درایورهای صوتی، درایورهای حافظه و غیره را که عمدتاً برای دستگاه اندرویدی در زمان اجرا لازم است را مدیریت می کند.

نتیجه گیری کلی از انواع معماری ها در اندروید

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

ولی در بخش اول دوره اندروید جامع برنامه نویسی اندروید به این موضوع انواع معماری ها در اندروید کامل پرداختیم: 

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

چطوری می تونم این دوره آموزش برنامه نویسی اندروید رو بخرم؟ 

این دوره نیاز به پیش نیاز ندارد. تمامی مفاهیم از صفر تا صد یعنی از سطح مبتدی تا پیشرفته به شما آموزش داده می شود.

آموزش اندروید استودیو - آموزش android studio - آموزش برنامه نویسی اندروید الکامکو - ساخت اپلیکیشن اندروید

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


مقالات مرتبط با آموزش برنامه نویسی اندروید:

دوره های مرتبط با آموزش های برنامه نویسی اندروید:

  1. دوره آموزش ساخت اپلیکیشن فیلیمو و نماوا و مشابه 
  2. دوره جامع آموزش رابط کاربری در برنامه نویسی اندروید
  3. دوره آموزش ساخت اپلیکیشن فروشگاهی اندروید

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

2 دیدگاه
بازخورد درون خطی
مشاهده همه نظرات
مهین
1 ماه گذشته

عالی بود

زیبا مقدم (پشتیبانی)
پاسخ دادن به  مهین
29 روز گذشته

ممنون

فهرست