میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

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

Androidیک سیستم عامل تحت موبایل و مبتنی بر هسته ی Linuxاست. پروژه ی توسعه و ارتقا اندروید AOSP یا پروژه ی کد باز اندروید نام دارد که شرکت Google آن را رهبری می کند.

سیستم عامل اندروید از چهار لایه تشکیل شده است، اما یک توسعه دهنده ی اندروید معمولا با دو لایه ی بالایی ( Application Framework وApplication ) آن سروکار دارد

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

معماری اندروید به شرح زیر می باشد:

لایه ی Application : پروژه ی کد باز اندروید دربردارنده ی چندین اپلیکیشن پیش فرض همچون مرورگر وب، اپلیکیشن استفاده از دوربین ( Camera ) اپلیکیشن پخش موسیقی Music ، اپلیکیشن برقراری تماس Phone و غیره … می باشد. در واقع تمامی برنامه هایی که کاربران از آن ها استفاده می کنند در این لایه نصب شده و در درسترس کاربر قرار می گیرند.

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

لایه ی Libraries و runtime : کتابخانه هایی که انجام کارهای معمول نظیر نمایش و ارائه ی خروجی گرافیکی (rendering) ، ذخیره ی داده ها، قابلیت وبگردی را به صورت آماده فراهم می آورند. این لایه همچنین Runtime اندروید و کتابخانه های اصلی که امکان اجرای اپلیکیشن ها را فراهم می آورد، شامل می شود.

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

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

API levelVersionName
11.0No official codename
21.1No official codename
31.5Cupcake
41.6Donut
5 – 72.0 – 2.1Eclair
82.2 – 2.2.3Froyo
9 – 102.3 – 2.3.7Gingerbread
11 – 133.0 – 3.2.6Honeycomb
14 – 154.0 – 4.0.4Ice Cream Sandwich
16 – 184.1 – 4.3.1Jelly Bean
19 – 204.4 – 4.4.4KitKat
21 – 225.0 – 5.1.1Lollipop
236.0 – 6.0.1Marshmallow
24 – 257.0 – 7.1.2Nougat
26 – 278.0 – 8.1Oreo
289Pie
2910Android 10
3011Android 11

 


نحوه ی برنامه سازی برای سیستم عامل تحت موبایل اندروید

زبان برنامه نویسی که برای ساخت و توسعه ی اپلیکیشن اندروید بکار گرفته می شود، زبان شی گرا و همه منظوره ی Java است. به عبارت دیگر، برنامه نویس اندروید تمامی فایل های تنظیمات و منطق اپلیکیشن که برای یک برنامه ی کاربردی اندروید ضروری است را با زبان چند منظوره ی Java می نویسد.
 Android development tooling ( مجموعه ابزار ساخت و توسعه ی اپلیکیشن های اندروید) فایل هایی که توسط محیط کاری و برنامه نویس تولید شده را به اپلیکیشن اندروید تبدیل می کند. حال اگر برنامه نویس فرایند deployment را آغاز کند، کل اپلیکیشن اندروید به زبان ماشین ترجمه، کلاس های اپلیکیشن پوشه بندی و package شده (تحت یک namespace یا پوشه ی واحد سازمان دهی شده،) سپس برای اجرا تنظیم و آماده می شود (و در نهایت به اجرا در می آید).

( deployment فرایندی است که طی آن اپلیکیشن برای بهره برداری کاملا آماده می شود).

SDK (مجموعه ابزار ساخت و توسعه ی اپلیکیشن اندروید) و Gradle (سیستم ترجمه و کامپایل کدها به زبان ماشین) ابزار لازم جهت ایجاد، کامپایل و package کردن (سازمان دهی یا دسته بندی کلاس ها تحت یک namespace واحد) اپلیکیشن های اندروید را بر عهده دارد. تیم توسعه دهندگان اندروید افزونه ی Gradle را جهت هدایت اپلیکیشن های اندروید به مرحله ی کامپایل فراهم می آورد که می توانید آن را از اینترنت دانلود کرده و بر روی محیط کاری Android Studio نصب نمایید. SDK یا مجموعه ابزار ساخت و توسعه ی اپلیکیشن های اندروید، ابزار ADB (پل ارتباطی به دستگاه اندروید و اشکال زدایی اپلیکیشن) را نیز شامل می شود. ADB یک پل ارتباطی به دستگاه های واقعی و مجازی اندروید جهت مدیریت یا اشکال زدایی اپلیکیشن می باشد


ADT / مجموعه ابزار ساخت و توسعه ی اپلیکیشن اندروید و محیط توسعه ی Android Studio

شرکت Google جهت توسعه و تست اپلیکیشن های اندروید، IDE یا محیط برنامه نویسی Android Studio را ارائه کرده و توصیه می کند. این محیط کاری خود از محیط برنامه نویسی IntelliJ برگرفته شده است

در ADT ویرایشگرهای اختصاصی ویژه ی فایل های اندروید تعبیه شده. بیشتر فایل های تنظیمات اندروید مبتنی بر XML هستند. ویرایشگرهایی که از آن ها نام برده شد به شما امکان می دهند بین نسخه ی ( XMLحالت ویرایش) فایل و رابط کاربری ساخت یافته که امکان وارد کردن داده را مهیا می کند، راه گزینی (سویچ) نمایید

 


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

کامپایلر Java فایل های حاوی کد و دستورات ( source file ) جاوا را به فایل های کلاس ( class file ) تبدیل می کند. در واقع SDK اندروید در خود ابزاری به نام dx دارد که فایل های Javaرا به یک فایل اجرایی با پسوند dex تبدیل می کند.(Dalvik Executable ) تمامی فایل های کلاس اپلیکیشن داخل این فایل اجرایی قرار داده می شوند. در طول پروسه ی تبدیل، اطلاعات تکراری و غیر ضروری موجود در فایل های کلاس حذف شده و به طور بهینه سازمان دهی می شوند. به طور مثال، اگر یک متغیر String همزمان در چندین فایل کلاس وجود داشته باشد، فایل dex تنها یک اشاره گر ( reference ) به این String را در خود نگه می دارد.

با توجه به توضیح بالا، فایل های dex بسیار کم حجم تر از فایل های کلاس متناظر هستند.

فایل dex و محتویات یک پروژه ی اندروید ( resource ) همچون تصاویر و فایل های XML همگی به صورت پکیج داخل فایل apk ( فایل Android package ) قرار داده می شوند. این عملیات را برنامه ای به نام aapt انجام می دهد

فایل apk خروجی، تمامی داده های لازم برای اجرای اپلیکیشن را شامل می شود. حال کافی است این فایل را به وسیله ی ابزار  adb ( پل ارتباطی مدیریت دستگاه اندروید و اشکال زدایی اپلیکیشن) بر روی دستگاه اندروید نصب ( deploy ) کرد.

از ویرایش ۵٫۰ به بعد اندروید، ART به عنوان سیستم مدیریت اجرای برنامه برای تمامی اپلیکیشن های اندروید مورد استفاده قرار می گیرد. ART از ( Ahead Of Time compilationترجمه ی کل کد برنامه به زبان ماشین به صورت یکجا در ابتدای اجرای اپلیکیشن) بهره می گیرد. حین نصب یک اپلیکیشن بر روی دستگاه اندروید، کد آن اپلیکیشن به زبان ماشین ترجمه می شود. این امر سبب می شود کد پس از کامپایل با افزایش ۳۰درصدی حجم مواجه شود، اما در زمان راه اندازی برنامه سرعت اجرا را بالا می برد.

از آنجایی که کد اپلیکیشن تنها به هنگام اجرا و راه اندازی اولیه اپلیکیشن به زبان ماشین ترجمه می شود، مصرف باتری به مراتب کاهش می یابد.

ابزار dex2oat فایل dex. تولید شده را به فرمت ELF تبدیل می کند. این فایل کد dex کد ترجمه شده به زبان ماشین که مستقیما توسط پردازنده اجرا می شود ( native code ) و meta-data (اطلاعاتی پیرامون اپلیکیشن) را شامل می شود. فایل با نگه داشتن کد dex. امکان استفاده از ابزار جاری را همچنان فراهم می آورد. عملیات مدیریت حافظه (garbage collection ) در ART بهینه سازی شده، از این جهت مدت زمانی که اپلیکیشن ممکن است به طور موقت کند شده یا متوقف شود، کاهش می یابد


فروشگاه مجازی  Google Play

شرکت گوگل سرویسی به نام Google Play را ارائه می دهد که این سرویس یک فروشگاه مجازی است و برنامه نویسان می توانند اپلیکیشن خود را در آن برای استفاده ی کاربران به صورت رایگان و پولی عرضه کنند. کاربران، اپلیکیشن Google Play را نصب کرده و به واسطه ی آن برنامه های کاربردی دلخواه خود را از سرویس Google playدانلود و نصب می کنند

 

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

Google play همچنین کتابخانه ها و سرویس هایی را ویژه ی برنامه سازان اندروید ارائه می دهد. به عنوان مثال می توان به سرویسی اشاره کرد که امکان استفاده و نمایش Google Maps را مهیا می سازد. ارائه ی این سرویس ها از طریق Google Play این مزییت را دارد که ویرایش های قدیمی اندروید نیز می توانند از آن ها استفاده کنند. Google می تواند آن ها را بدون اینکه نیازی به بروز آوری کلی سیستم عامل اندروید باشد، بروز رسانی کند

 


امیدواریم آموزش مقدماتی سیستم عامل اندروید Android نیز برای شما مفید واقع شده باشد .برای مطالعه پست‌ها بیشتر ، ما را در مدرسه کدنویسی تلگرام  و یا در تی جوان اینستاگرام دنبال کنید.

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

ارسال دیدگاه

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

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟