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

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

آموزش ویدیویی این قسمت برای راحتی شما عزیزان اضافه شد 

لطفا با خرید خود از ما حمایت کنید 

2500 تومان – خرید

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

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

لایه ی Linux Kernel در معماری اندروید

پایین ترین لایه ی اندروید هسته ی لینوکس آن میباشد . همه میدانیم که هسته ی اصلی اندروید ، لینوکس میباشد . در این لایه Linux 3.6 به همراه  115 افزونه ی آن فعالیت میکند که یک لایه ی انتزاعی میان دستگاه و سخت افزارهای آن مثل دوربین ، کیبورد ، صفحه ی نمایش و … میسازد. همچنین هسته ی لینوکسی در کنترل و شناسایی درایورهای شبکه و همچنین آرایه ی عظیمی از درایورهای سخت افزاری های متنوع ، بسیار خوب عمل میکند . همین هسته ی سبک و قدرتمند ، باعث میشود در نهایت اندروید بعنوان یک سیستم عامل قدرتمند ، وظایف خود را به درستی انجام دهد .

لایه Libraries در معماری اندروید

در لایه بالاتر از linux kernel ، لایه ی دیگری وجود دارد که کتابخانه های مورد نیاز اندروید در آنجا قرار دارد . کتابخانه هایی مانند پایگاه داده SQLite ( برای ذخیره و بازیابی داده ) ، کتابخانه هایی برای ضبط و پخش صدا  ، کتابخانه های مربوط به شبکه و اینترنت و …. کمک اصلی به سیستم عامل اندروید توسط این لایه انجام میگیرد .

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

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

  • android.app دسترسی به مدل برنامه های اندروید را فراهم میکند و سنگ بنای تمام برنامه های اندرویدی میباشد 
  • android.content برای رد و بدل کردن اطلاعات و محتوای بین برنامه به کار میرود و این کار را آسان تر میکند 
  • android.database دسترسی به محتویات قابل ذخیره و مدیریت پایگاه داده ی SQLite 
  • android.opengl برای تجزیه و تحلیل گرافیک سه بعدی و دو بعدی اندروید 
  • android.os دسترسی به سرویس های اصلی اندروید را برای برنامه ها فراهم میکند سرویس های همچون پیام های سیستمی و سرویس های سیستمی و پیش پردازش ها 
  • android.text برای نمایش و دستکاری متن های نمایشی 
  • android.view قسمت اصلی رابط گرافیکی اندروید 
  • android.widget با استفاده از این کتابخانه قسمت های گرافیکی از پیش ساخته شده ای که شامل دکمه و لایه و دکمه رادیو و پخش و … میباشد که برای راحتی کاربر طراحی و ساخته میشوند
  • android.webkit کتابخانه ی مرورگر اینترنتی اندروید که هسته ی مرورگر اندروید رو تشکیل میدهد.

علاوه بر کتابخانه هایی که معرفی شد کتابخانه های دیگری در Android Runtime هستند که بر اساس c و c++ هستند. توجه کنید : کتابخانه های بالا بر مبنای زبان برنامه نویسی جاوا هستند که در بخش android runtime اندروید قرار دارند
Android Runtime

سومین بخش از قسمت های مختلف هسته ی اندروید که در لایه ی دوم یعنی Libraries قرار میگیرد . (شمارش بخش و لایه ها از پایین به بالا در نظر گرفته شده است) در این بخش یک قسمت کلیدی به نام ماشین دالویک ( Dalvik Virtual Machine ) وجود دارد . ماشین مجازی جاوا که برای هسته ی اندروید طراحی شده است و وظیفه ی پردازش کل اندروید را دارد و مثل مغز انسان برای اندروید میباشد  ماشین مجازی دالویک توسط دان بورنستین نوشته شده است که بخاطیر شغل ماهیگیری او این نام روی ماشین گذاشته شده است و برخلاف اکثر ماشین های جاوا که ماشین پشته ای هستند ماشین دالویک مبتنی بر رجیستری هست . توضیح  تکمیلی : همه میدانیم که برنامه های اندرویدی باید با جاوا نوشته شوند و کدهای جاوا هیچ وابستگی به سیستم ندارند و کدهای نوشته شده باید با ماشین مجازی مخصوص پردازش شوند . یعنی ممکن است کدهایی که برای برنامه ای در اندروید مینویسیم با کدهایی که برای یک برنامه ویندوزی مینویسیم یکسان باشد . ولی کارآیی و استفاده ی آنها تفاوت دارد و مهمترین مورد ماشینی هست که این کدها را میفهمد  در اینجا کدهای نوشته شده ی یا تولید شده ی جاوایی را که فایل dex. هستند ماشین دالویک میفهمد و پردازش میکند  در نهایت برنامه در اندروید نصب و اجرا میشود .  دالویک از هسته ی لینوکسی استفاده هایی نظیر مدیریت حافظه ، مدیریت نخ ها یا چندنخی ( multi-threading ) میکند. دالویک باعث میشود که هر برنامه ی اندرویدی پردازش خاص خودش را اجرا کند .

لایه ی Application Framework  در معماری اندروید

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

لایه ی application framework شامل قسمت های کلیدی زیر میباشد  :

Activity Manager کنترل تمام جنبه های چرخه ی حیات برنامه های اندرویدی و فعالیت های آنها

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

Resource Manager دسترسی و مدیریت منابع همچون لایه ها ، رشته ها ، تنظیمات و رنگ ها و ….

Notifications Manager نمایش و کنترل ناتیفیکشن در اندروید توسط برنامه

View System مجموعه ای قابل توسعه برای تهیه ظاهر برنامه ها ( user interface )

لایه ی Applications در معماری اندروید 

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

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

http://Samenta.ir

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *