درس ۲- معماری اندروید

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

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

در بخش زیر به توضیح هر کدام از لایه ها و بخش های تصویر بالا توضیح داده ایم.

 

بخش Linux Kernel اندروید

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

نسخه های مختلف کرنل لینوکس در نسخه های مختلف اندروید

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

 

بخش Libraries اندروید

بخش بالاتر از Linux Kernel بخش Libraries میباشد و همانطور که از اسمش پیداست در این بخش کتابخانه های مختلفی مثل کتابخانه ی متن باز وب به اسم WebKit ، کتابخانه ی libc , پایگاه داده SQLite ، کتابخانه هایی برای ضبط و پخش ویدیو و صدا ، کتابخانه های امنیت وب و SSL و ... در این بخش قرار میگیرند.

 

بخش Android Libraries

این دسته شامل کتابخانه های مبتنی بر جاوا ( Java ) میباشد که مخصوص برنامه نویسان اندرویدی است.نمونه کتابخانه هایی که در این بخش قرار میگیرد شامل کتابخانه های application framework که برای ساخت رابط کاربری ( user interface ) ، طراحی های گرافیکی و دسترسی به پایگاه داده مورد استفاده قرار میگیرد.

هسته ی اصلی کتابخانه هایی که در اختیار برنامه نویسان اندرویدی قرار میگیرد به شرح زیر است

  • android.app : دسترسی به مدل اپلیکیشن را فراهم می کند و سنگ بنای تمامی اپلیکیشن های اندروید است.
  • android.content : دسترسی به محتوا، انتشار و ارسال پیام بین برنامه ها و اجزای برنامه را تسهیل می کند.
  • android.database : برای دسترسی به داده های منتشر شده توسط ارائه دهندگان محتوا استفاده می شود و شامل کلاس های مدیریت پایگاه داده نیز SQLite است.
  • android.opengl : یک رابط جاوا برای استفاده از API رندر مربوط بهOpenGL ES 3D
  • android.os : اپلیکیشن ها را با دسترسی به سرویس های استاندارد سیستم عامل از جمله پیام ها، خدمات سیستم و ارتباطات بین فرآیندی فراهم می کند. 
  • android.text : برای ارائه و دستکاری متن روی نمایشگر دستگاه استفاده می شود
  • android.view : بلاک های اصلی رابط کاربری اپلیکیشن ها را فراهم میکند.
  • android.widget : مجموعه ای غنی از اجزای رابط کاربری از پیش ساخته شده مانندbuttons, labelها, list viewها, layout manager ها, radio button ها  و ...
  • android.webkit : مجموعه‌ای از کلاس‌ها که اجازه می‌دهند قابلیت‌های مرور وب در برنامه‌ها ساخته شوند.

پس از مطالعه درباره ی کتابخانه های جاوا در هسته ی اندروید بهتر است که به کتابخانه های برمبنای c و c++ هم توجه شود.

 

بخش Android Runtime

این سومین بخش از لایه های درونی اندروید است که از لایه های زیرین دومی حساب میشود. زمانی ماشین Dalvik Virtual Machine در این قسمت قرار داشت که جزو مهمترین قسمت های سیستم عامل اندرویدی بود که یک نوع ماشین مجازی جاوایی بود که برای اندروید ساخته شده بود که از اندروید ۵ به بعد از درون هسته ی اندروید پاکسازی شد و ART جای آنرا گرفت.

کارایی ART همانند دالویک برای اجراکردن بایت کدهای جاوایی هست ولی نسبت به آن بهینه تر میباشد.

 

بخش Application Framework

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

لایه ی Android framework دارای سرویس های کلیدی زیر میباشد.

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

 

بخش Applications در معماری اندروید

در این قسمت که بالاترین قسمت سیستم عامل اندروید است شما میتوانید تمامی اپلیکیشن های نصب شده را پیدا کنید و شما میتوانید بعنوان برنامه نویس اندروید اپ های نوشته شده ی خود را در این بخش نصب کنید.

منظور از اپلیکیشن ها تمامی آنها اعم از اپلیکیشن های ایمیل ، پیام رسان ، گیم ها و ... است .

 

 

 


محصولات برگزیده مناسب شما