آشنایی با سیستم عامل اندروید
آشنایی با سیستم عامل اندروید:
در این مبحث ابتدا به تاریخچه سیستم عامل اندروید، ویژگیهای آن و ماشین مجازی اندروید پرداخته،
سپس زبان برنامه نویسی اندروید و محیط توسعه (IDE) آن یعنی اندروید استودیو را معرفی میکنم.
معرفی سیستم عامل اندروید
آشنایی با سیستم عامل اندروید: در اوت ۲۰۰۵، گوگل شرکت اندروید واقع در پالو آلتو، کالیفرنیا را خرید. شرکت کوچک اندروید که توسط اندی رابین، ریچ ماینرز، نیک سیرز و کریس وایت پایهگذاری شده بود، در زمینه تولید نرم افزار و برنامههای کاربردی برای تلفنهای همراه فعالیت میکرد. اندی رابین مدیر عامل اجرایی این شرکت پس از پیوستن اندروید به گوگل به سمت قائم مقام مدیریت مهندسی این شرکت و مسئول پروژه اندروید در گوگل منصوب شد. تیم اندروید به رهبری رابین فعالیت خود را برای تولید سکوی تلفن همراه مبتنی بر هسته لینوکس آغاز کردند و نتیجه اولیه این پروژه در نشست خبری شرکت گوگل در ۵ نوامبر سال ۲۰۰۷، مطرح کردن اتحادیه گوشی باز بود
آشنایی با سیستم عامل اندروید: ۳۴ شرکت فعال در زمینه تولید نرمافزار، تولید تلفنهای همراه، اپراتور تلفن همراه و تولیدکننده نیمه رساناها و پردازندههای تلفن همراه اعضای بنیانگذار این اتحادیه بودند. در میان نامهای مشهور در بین اعضای مؤسس، شرکتهایی چون سامسونگ، ال جی الکترونیکس، موتورولا، اچ تی سی، تی-موبایل، ان تی تی دوکومو، اینتل، انویدیا، تگزاس اینسترومنتس، کوالکام، برودکام، تلفونیکا، اسپرینت، ای بی و البته گوگل به چشم میخوردند.
اریک اشمیت مدیر ارشد اجرایی گوگل در این مراسم گفت: «اعلام امروز بسیار جاه طلبانه تر از معرفی تنها یک تلفن گوگلی است که در چند هفته اخیر توسط رسانهها پیشبینی شده بود. از دیدگاه ما سکویی که ما ارائه کردهایم، هزاران تلفن گوناگون را به بازار روانه خواهد کرد.» نخستین گوشی مبتنی بر اندروید توسط شرکت اچ تی سی با همکاری تی-موبایل تولید شد.
این گوشی که به فاصله کمتر از یک سال از تشکیل اتحادیه گوشی باز یعنی در ۲۲ اکتبر ۲۰۰۸ تولید شد، در بازارهای مختلف به نامهای اچ تی سی دریم، تی-موبایل جی۱ و ارا جی۱ به بازار عرضه گردید.
۹ دسامبر ۲۰۰۸ چهارده عضو جدید از شرکتهای صنعت تلفن همراه جهان به اتحادیه گوشی باز پیوستند. در بین این نامها باید به سونی اریکسون، اریکسون، توشیبا، ایسوز، گارمین، هواوی و آرم هولدینگز اشاره کرد. روند پیوستن شرکتهای بزرگ به اتحادیه تا به امروز نیز ادامه داشتهاست و شرکتهایی چون ایسر، آلکاتل، لنوو، شارپ، فاکسکان، انایسی، کیوسرا، انایکسپی، استی-اریکسون، مارول، زدتیئی و دل نیز از جمله شرکتهایی بودهاند که به جمع پشتیبانیکنندگان اندروید پیوستهاند
معنای اندروید و تلفظ صحیح:
بنابر ترجمه واژهنامه کمبریج، اندروید اینگونه تعریف شدهاست: «یک ربات (ماشینی که به وسیله کامپیوتر کنترل میشود) که به گونهای ساخته شده تا شکل ظاهری شبیه به انسان داشته باشد.» بنا بر این تعریف شاید بتوان کلمه ربات انسان نما را ترجمه مناسبی برای این واژه در نظر گرفت.
تلفظ صحیح این کلمه بر اساس واژه نامه کمبریج در هر دو گویش آمریکایی و بریتانیایی اَندروید (/ˈæn.drɔɪd/) میباشد و در هیچکدام از این گویشها حرف آ در ابتدای این کلمه به کار نمیرود.
ویژگیهای اندروید:
امکانات و قابلیتهای اصلی سیستم عامل اندروید را میتوان در لیست زیر خلاصه کرد:
- اندروید تمامی تکنولوژیهای اتصال (Connectivity) شامل GSM/EDGE, CDMA, EV-DO, UMTS, بلوتوث و وای فای را پشتیبانی میکند
- اندروید از فرمتهای مختلف فایلهای مالتی مدیا مثل MPEG-4, H.264, MP3, AAC, AMR, JPEG, PNG, GIF پشتیبانی میکند
- اندروید برای ارسال پیغامهای متنی یا همان اس ام اس (SMS) از فرمهای SMS, MMS و XMPP پشتیبانی میکند
- مرورگر موجود در اندروید بر اساس فریم ورک اوپن سورس WebKit توسعه یافتهاست
- اندروید برای ذخیره دادهها و مدیریت بانکهای اطلاعاتی سبک از نرمافزار SQLite استفاده میکند
- تمام برنامههای اندروید به زبان جاوا نوشته میشوند. برای اجرای برنامههای جاوایی روی این سیستم عامل، کدهای جاوا به کدهای Dalvik تبدیل میشوند و سپس روی ماشین مجازی جاوایی (Dalvik Virtual Machine) اجرا میشوند
- اندروید از سختافزارهای مختلف همچون GPS و دوربینهای متنوع پشتیبانی میکند
تصاویر و فایلهای گرافیکی بوسیله OpenGL پردازش میشوند که کیفیت بالاتری خواهند داشت
رابطه اندروید و جاوا:
آشنایی با سیستم عامل اندروید: نرمافزارهای جانبی اندرویدی با استفاده از زبان جاوا نوشته میشوند و برای ارتباط با لایههای زیرین سیستم عامل میتوانند از کتابخانههای جاوایی اندروید استفاده کنند. بخش رابط کاربری سیستم عامل اندروید و همچنین بسیاری از برنامههای اندروید نیز با جاوا نوشته شدهاند. اما این سیستم عامل، Java Virtual Machine ندارد. برای اجرای برنامههای جاوایی روی این سیستم عامل، کدهای جاوا به کدهای Dalvik تبدیل میشوند و سپس روی Dalvik Vitrual Machine اجرا میشوند. دالویک یک ماشین مجازی جاوایی است که برای سیستم عامل اندروید بهینه شده تا هم RAM و هم CPU و هم باتری کمتری مصرف کند. برنامههای جاوایی معمولی هم که روی گوشیهای دیگر اجرا میشوند با استفاده از نرمافزارهای شبیهساز ماشین مجازی جاوا مانند j2ME MIDP Runner روی این سیستم عامل قابل اجرا هستند.
ART(آرت):
آرت، ران تایم جدید اندروید می باشد که جایگزین دالویک شده است. شرکت گوگل برای اولین بار در اندروید ۴٫۴ آرت را در کنار دالویک قرار داد و کاربران میتوانستند با مراجعه به تنظیمات آن را فعال کنند.
فرمت فایلهای پشتیبانی شده:
آشنایی با سیستم عامل اندروید: اندروید در حالت پیشفرض فایلهای mp3, aac , ogg , amr , midi , mpeg4 , wav , bmp , gif png , jpg را پشتیبانی میکند. اندروید Adobe Flash را نیز پخش میکند و میتواند فایلهای GIF متحرک را با حرکت پخش کند. برای پخش فایلهای جریان دار مانند صوت و ویدئو نیز میتوانید از تگ ویدئو HTML5 و همچنین تکنولوژی Adobe Flash Streaming استفاده کنید. در نسخههای جدید اندروید، موتور جاوا اسکریپت مرورگر کروم که سرعت بسیار بالایی در اجرای کدهای جاوا اسکریپت دارد به مرورگر اندروید متصل شدهاست. (در ضمن مرورگر اندروید کدهای HTML5 را پشتیبانی میکند).
تاریخچه نسخههای اندروید:
نسخه | نام نسخه | نام فارسی | سال انتشار |
۱٫۰ | Alpha | آلفا | ۲۰۰۸ |
۱٫۱ | Beta | بتا | ۲۰۰۹ |
۱٫۵ | CupCake | کیک فنجانی | ۲۰۰۹ |
۱٫۶ | Donut | دونات | ۲۰۰۹ |
۲٫۰ – ۲٫۱ | Eclair | نان خامه ای | ۲۰۰۹ |
۲٫۲ | Froyo | ماست یخ زده | ۲۰۱۰ |
۲٫۳ | Gingerbread | نان زنجبیلی | ۲۰۱۰ |
۳٫۰ – ۳٫۱ – ۳٫۲ | Honeycomb | کندوی عسل | ۲۰۱۱ |
۴٫۰ | Ice Cream Sandwich | بستنی حصیری | ۲۰۱۱ |
۴٫۱ – ۴٫۲ | Jelly Bean | آبنبات ژله ای | ۲۰۱۲ |
۴٫۳ | Jelly Bean | آبنبات ژله ای | ۲۰۱۳ |
۴٫۴ | KitKat | کیت کت | ۲۰۱۳ |
۵٫۰ | Lollipop | آبنبات چوبی | ۲۰۱۴ |
۶٫۰ – ۶٫۰٫۱ | Marshmallow | مارشمالو | ۲۰۱۵ |
۷٫۰ – ۷٫۱٫۲ | Nougat | ناگت (نوقا) | ۲۰۱۶ |
۸٫۰ – ۸٫۱ | Oreo | اورئو | ۲۰۱۷ |
۹٫۰ | Pie | پای | ۲۰۱۸ |
۱۰ | ۱۰ | ده | ۲۰۱۹ |
۱۱ | ۱۱ | یازده | ۲۰۲۰ |
۱۲ | ۱۲ | دوازده | ۲۰۲۱ |
ماشین مجازی دالویک (یا آرت) چیست ؟
برخی زبانهای برنامه نویسی Native هستند. یعنی این زبانها پس از کامپایل شدن برنامه، مستقیم به زبان ماشین تبدیل میشوند. اما زبان جاوا برای اجرا روی سخت افزار نیاز به یک واسط دارد که کدهای جاوا را به زبان قابل فهم برای ماشین ترجمه کند.
از نسخه ۱٫۰ اندروید تا قبل از نسخه ۴٫۴ ، ماشین مجازی Dalvik این وظیفه را به عهده داشت که از نسخه ۴٫۴ به بعد، ماشین ART در کنار دالویک قرار گرفت.
تفاوت دالویک و آرت در این است که در دالویک، با هر بار اجرای اپلیکیشن، کدهای جاوا به زبان ماشین ترجمه میشود اما در آرت فقط یک بار این عمل صورت میگیرد که باعث افزایش سرعت اجرای اپلیکیشن در مراتب بعدی میشود.
زبان برنامه نویسی اندروید:
زبان اصلی برای توسعه و برنامه نویسی اپلیکیشنهای اندروید که توسط گوگل پشتیبانی می شود، زبان جاوا میباشد. علت انتخاب این زبان از جانب گوگل، قدرتمند بودن آن است. طبق آماری که به تازگی منتشر شد، جاوا برای چندمین بار و به صورت متوالی از سال ۲۰۰۹ به عنوان پرکاربردترین زبان برنامه نویسی دنیا شناخته شده است
با زبانهایی مانند C ، Basic ، HTML5 هم میتوان اپلیکیشن اندروید ساخت اما به دلایلی استفاده از این زبانها در خصوص اندروید توصیه نمی شود :
- گوگل به صورت رسمی از جاوا پشتیبانی کرده و دائما محیط برنامه نویسی مخصوص به خود را بروزرسانی می کند
- بیشترین منابع آموزشی، نمونه کدها و کتابخانههای اندروید، مربوط به زبان جاوا است.همچنین با توجه به اینکه اکثر برنامه نویسان اندروید از زبان جاوا استفاده می کنند، در مواقعی که در حین توسعه اپلیکیشن خود به مشکلی برخورد کردید، به سادگی می توانید با جستجو در گوگل و تالارهای گفتگوی فارسی زبان و غیر فارسی زبان و یا مطرح نمودن مشکل خود در وب سایتهایی مانند stackoverflow.com ، به جواب برسید.
بهینهترین اپلیکیشن برای اندروید، اپلیکیشنی است که به زبان جاوا نوشته شده باشد.
محیط برنامه نویسی اندروید:
در ابتدا گوگل محیط Eclipse را برای توسعه اپلیکیشنهای اندروید معرفی و پشتیبانی میکرد و در عین حال بر روی محیط اختصاصی خود که Android Studio نام دارد و بر پایه محیط IntelliJ IDEA بنا شده کار کرد تا اینکه اکثر باگهای آن رفع شد و با انتشار نسخه پایدار آن، پشتیبانی خود را بر روی اندروید استودیو متمرکز نمود و برنامه نویسان را به مهاجرت از اکلیپس به این محیط جدید توصیه نمود.
پیش نیاز برنامه نویسی:
در توسعه اپلیکیشنهای اندروید با دو زبان Java و XML سروکار داریم که میتوانید با جستجو در اینترنت با زبان جاوا و XML آشنا شوید.
تهیه و تنظیم گروه تولید محتوای آرک استور
آشنایی با سیستم عامل اندروید: