آشنایی با سیستم عامل اندروید

در این مبحث ابتدا به تاریخچه سیستم عامل اندروید، ویژگی‌های آن و ماشین مجازی اندروید پرداخته، سپس زبان برنامه نویسی اندروید و محیط توسعه (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 پای ۲۰۱۸
۱۰ ۱۰ ده ۲۰۱۹
۱۱ ۱۱ یازده ۲۰۲۰
۱۲ ۱۲ دوازده ۲۰۲۱

برای مشاهده جزئیات بیشتر و Level API ها به ویکی پدیا مراجعه کنید.

ماشین مجازی دالویک (یا آرت) چیست ؟

برخی زبان‌های برنامه نویسی Native هستند. یعنی این زبان‌ها پس از کامپایل شدن برنامه، مستقیم به زبان ماشین تبدیل می‌شوند. اما زبان جاوا برای اجرا روی سخت افزار نیاز به یک واسط دارد که کدهای جاوا را به زبان قابل فهم برای ماشین ترجمه کند.
از نسخه ۱٫۰ اندروید تا قبل از نسخه ۴٫۴ ، ماشین مجازی Dalvik این وظیفه را به عهده داشت که از نسخه ۴٫۴ به بعد، ماشین ART در کنار دالویک قرار گرفت.
تفاوت دالویک و آرت در این است که در دالویک، با هر بار اجرای اپلیکیشن، کدهای جاوا به زبان ماشین ترجمه می‌شود اما در آرت فقط یک بار این عمل صورت میگیرد که باعث افزایش سرعت اجرای اپلیکیشن در مراتب بعدی می‌شود.

زبان برنامه نویسی اندروید

زبان اصلی برای توسعه و برنامه نویسی اپلیکیشن‌های اندروید که توسط گوگل پشتیبانی می شود، زبان جاوا می‌باشد. علت انتخاب این زبان از جانب گوگل، قدرتمند بودن آن است. طبق آماری که به تازگی منتشر شد، جاوا برای چندمین بار و به صورت متوالی از سال ۲۰۰۹ به عنوان پرکاربردترین زبان برنامه نویسی دنیا شناخته شده است.
با زبانهایی مانند C ، Basic ، HTML5 هم می‌توان اپلیکیشن اندروید ساخت اما به دلایلی استفاده از این زبان‌ها در خصوص اندروید توصیه نمی شود :

  • گوگل به صورت رسمی از جاوا پشتیبانی کرده و دائما محیط برنامه نویسی مخصوص به خود را بروزرسانی می کند
  • بیشترین منابع آموزشی، نمونه کدها و کتابخانه‌های اندروید، مربوط به زبان جاوا است.همچنین با توجه به اینکه اکثر برنامه نویسان اندروید از زبان جاوا استفاده می کنند، در مواقعی که در حین توسعه اپلیکیشن خود به مشکلی برخورد کردید، به سادگی می توانید با جستجو در گوگل و تالارهای گفتگوی فارسی زبان و غیر فارسی زبان و یا مطرح نمودن مشکل خود در وب سایت‌هایی مانند stackoverflow.com ، به جواب برسید.

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

نکته: مدتی است گوگل زبان Kotlin (کاتلین) را در کنار زبان جاوا در محیط اندروید استودیو پشتیبانی می‌کند. کاتلین به دلیل کوتاه و خلاصه شدن کدها طرفدارانی را به سمت خود جذب کرده. ما نیز پس از اتمام مباحث اصلی به زبان جاوا، به معرفی زبان کاتلین خواهیم پرداخت.

محیط برنامه نویسی اندروید

در ابتدا گوگل محیط Eclipse را برای توسعه اپلیکیشن‌های اندروید معرفی و پشتیبانی می‌کرد و در عین حال بر روی محیط اختصاصی خود که Android Studio نام دارد و بر پایه محیط IntelliJ IDEA بنا شده کار کرد تا اینکه اکثر باگ‌های آن رفع شد و با انتشار نسخه پایدار آن، پشتیبانی خود را بر روی اندروید استودیو متمرکز نمود و برنامه نویسان را به مهاجرت از اکلیپس به این محیط جدید توصیه نمود.

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

پیش نیاز برنامه نویسی

در توسعه اپلیکیشن‌های اندروید با دو زبان Java و XML سروکار داریم که می‌توانید با جستجو در اینترنت و یا دریافت فایل‌های آموزشی فصل اول با زبان جاوا آشنا شوید. با زبان XML در ادامه آموزش‌ها آشنا خواهید شد.

سخن پایانی

برای اینکه به یک برنامه نویس و توسعه دهنده حرفه‌ای تبدیل شوید، باید تمرین، پشتکار و برنامه ریزی داشته باشید. صرف خواندن آموزش، نتیجه‌ای نمی گیرید!
چه در زمینه اندروید و جاوا چه در سایر زمینه ها و زبان های برنامه نویسی، جز با تمرین و ممارست به هدف خود نخواهید رسید. اگر قبلا در زمینه های دیگری مانند گرافیک، طراحی وب و… فعالیت داشته اید این قانون را به سادگی می‌پذیرید.
مرتب اطلاعات خود را بروز کنید. تصور اینکه بنشینید ، تعدادی آموزش را مطالعه کنید و تصور داشته باشید که اطلاعات شما کافی است و می توانید برای مدت طولانی از آن استفاده کنید، اشتباه است. با جستجو در منابع انگلیسی و فارسی زبان اطلاعات جدید کسب کنید و با ابزار، کتابخانه ها و نمونه کدها آشنا شوید.
سعی ما نیز بر این است تا در حد امکان به معرفی کامپوننت‌ها و کتابخانه‌ها بپردازیم. با این حال هیچگاه خودتان را محدود به یک منبع آموزشی نکنید. هر موسسه/شرکت/وب سایتی که ادعا کند محتوای آموزشی که در اختیار شما قرار داده نیاز به مطالعه سایر منابع را مرتفع ساخته، در صداقتش شک کنید! لزومی به صرف هزینه بابت استفاده از منابع متفاوت نیست. در خصوص هر مطلبی با جستجو در وب به ده ها و صدها مقاله رایگان دسترسی خواهید داشت. هرچه تعداد مقالات بیشتری مطالعه کنید، اطلاعات شما کاملتر و بی نقص تر خواهد بود. هیچ مدرسی همه چیز را نمی‌داند، و همه چیز را بیان نمی‌کند!

دانلود فایل این آموزش با فرمت PDF
تعداد صفحات : ۸
حجم : ۱ مگابایت
قیمت : رایگان
تاریخ بروزرسانی آموزش : ۱۴۰۰/۰۳/۰۱
دانلود رایگان با حجم ۱ مگابایت لینک کمکی
این مطلب چقدر برایتان مفید بود؟ لطفا امتیاز دهید
4.7/5 - (28 امتیاز)
پرسش‌ها و دیدگاه‌های کاربران
دوره آموزش برنامه نویسی اندروید
دوره آموزش برنامه نویسی اندروید

با دریافت این دوره به تمامی آموزش‌های غیر رایگان و رایگان موجود در وب سایت دسترسی دارید که تخفیفی برای آموزش‌های غیر رایگان نیز درنظر گرفته شده. این پکیج به دو صورت دانلودی و ارسال پستی ارائه می‌گردد.
آموزش‌های اندروید استودیو در دو دسته «پایه» و «تکمیلی» منتشر می‌شوند.
آموزش‌های پایه شامل مباحث اصلی و ضروری و آموزش‌های تکمیلی مطالبی است که می‌بایست در کنار مطالب اصلی بررسی شود.
با خرید این دوره، به تمامی آموزش‌های غیر رایگانی که در آینده منتشر می‌شود نیز به صورت رایگان دسترسی خواهید داشت!

یک دیدگاه بنویسید

پرسش‌های زیر تایید و پاسخ داده نـــخواهند شد:
۱: جزء موارد مطرح شده در صفحات مشکلات و پرسش‌های رایج و بروزرسانی‌های محتوای آموزشی باشد
۲: سوال قبلا توسط کاربران در دیدگاه‌ها مطرح و پاسخ داده شده باشد
۳: پرسش خارج از مبحث آموزشی موجود در این صفحه باشد