آموزش برنامه نویسی برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

اندروید (یونانی: به معنای مَرد، انسان، شبه آدم یا رُبات (آدم آهنی))، (به انگلیسی: Android) نام سیستم‌عاملی است که گوگل برای تلفن همراه و لوح‌رایانه و هم اکنون برای تلویزیون نیز عرضه می‌نماید و با همکاری ده‌ها شرکت بر
سه‌شنبه، 29 مهر 1393
تخمین زمان مطالعه:
موارد بیشتر برای شما
آموزش برنامه نویسی برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

 

مترجم: حبيب الله عليخاني
منبع: راسخون




 
اندروید (یونانی: به معنای مَرد، انسان، شبه آدم یا رُبات (آدم آهنی))، (به انگلیسی: Android) نام سیستم‌عاملی است که گوگل برای تلفن همراه و لوح‌رایانه و هم اکنون برای تلویزیون نیز عرضه می‌نماید و با همکاری ده‌ها شرکت بر روی دستگاه‌های مبتنی بر اندروید قرار می‌دهد. در واقع اندروید مجموعه ای از نرم افزارهای (software stack) موبایل است که شامل سیستم عامل، middleware ها و برنامه های کلیدی (key applications) است. این سیستم عامل، اولین سیستم عامل جامع موبایل می باشد که متن باز (Open Source) منتشر شده است و به صورت رایگان در دسترس همه قرار گرفته است. به همین دلیل هم می توان از آن استفاده کرد و هم می توان هر تغییری در آن ایجاد کرد.
در اوت ۲۰۰۵، گوگل شرکت اندروید را خرید. شرکت کوچک اندروید که توسط اندی رابین، ریچ ماینرز، نیک سیرز و کریس وایت پایه‌گذاری شده بود، در زمینه تولید نرم‌افزار و برنامه‌های کاربردی برای تلفن‌های همراه فعالیت می‌کرد. در سال 2007 تعدادی از شرکت های تجهیزات الکترونیکی مانند موبایل و یکسری از شرکت های نرم افزاری مانند گوگل با هم جمع شدند و ابتدا تعداد آنها 34 عضو بوده و بعد ها به تعداد آنها اضافه شد. این اعضا در کنار هم کنسرسیومی را تشکیل داده اند که در راس آنها گوگل بوده و هدف آنها ایجاد یک سیستم عامل متن باز بوده است. این کنسرسیوم ((Open Handset Alliance OHAنام داشت.
می توانید اطلاعات بیشتر درباره ی این گروه را در سایت زیر مشاهده کنید:
www.openhandsetalliance.com
این کنسرسیوم SDK را منتشر ساخته که دربرگیرنده ی ابزارهای نرم افزاری مورد نیاز برای توسعه ی اپلیکیشن های اندروید بوده. SDK در واقع مخفف software Development Kit می باشد و به معنی پکیج توسعه ی نرم افزار می باشد. نسخه های sdk را می توان از سایت زیر دانلود کرد:
http://developer.android.com
در سال 2008 اولین گوشی موبایل با سیستم عامل اندروید به نام T-Mobile G1 از شرکت HTC به بازار آمد. بعد از آن شرکل های زیادی از این سیتم عامل استفاده کردند و ابزار های الکترونیکی خود را با این سیستم عامل طراحی کردند.

ویژگی های اندروید

1. اندروید تمامی تکنولوژی‌های اتصال (=Connectivity) شامل GSM/EDGE, CDMA, EV-DO, UMTS, بلوتوث و وای- فای را پشتیبانی می‌کند.
2. اندروید از فرمت‌های مختلف فایل‌های مالتی مدیا مثل MPEG-۴, H.۲۶۴, MP3, AAC, AMR, JPEG, PNG, GIF پشتیبانی می‌کند.
3. اندروید برای ارسال پیغام‌های متنی یا همان اس ام اس (SMS) از فرم‌های SMS, MMS و XMPP پشتیبانی می‌کند.
4. مرورگر موجود در اندروید بر اساس فریم ورک اوپن سورس WebKit توسعه یافته‌است.
5. اندروید برای ذخیره داده‌ها و مدیریت بانک‌های اطلاعاتی سبک از نرم‌افزار SQLite استفاده می‌کند.
6. تمام برنامه‌های اندروید به زبان جاوا نوشته می‌شوند. برای اجرای برنامه‌های جاوایی روی این سیستم عامل، کدهای جاوا به کدهای Dalvik تبدیل می‌شوند و سپس روی ماشین مجازی جاوایی (Dalvik virtual machine) اجرا می‌شوند.
7. ابزارهای مختلف اندروید برای توسعه دهندگان به راحتی در دسترس است و توسط شرکت گوگل پشتیبانی می‌شوند. این ابزارها شامل کتابخانه‌ها، خطایاب، شبیه‌ساز گوشی و یک پلاگین برای اکلیپس است.
8. اندروید از سخت‌افزارهای مختلف همچون جی پی اس و دوربین‌های متنوع پشتیبانی می‌کند.
9. تصاویر و فایل‌های گرافیکی بوسیله OpenGL پردازش می‌شوند که کیفیت بالاتری خواهند داشت.
10. با استفاده از تکنولوژی نسبتاً جدید شرکت Adobe با نام AIR نیز می‌توان به توسعه برنامه‌های کاربردی تحت این سیستم عامل پرداخت.

نسخه‌های اندروید:

اندروید نسخه ۱٫۰

اندروید نسخه ۱٫۰ اولین نسخه اندروید که به صورت تجاری در تاریخ ۲۳ سپتامبر ۲۰۰۸ بر روی تلفن همراه شرکت اچ تی سی (HTC Dream (G۱ معرفی شد.
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

اندروید نسخه ١٫١

در تاریخ ٩ فوریه ٢٠٠٩ اندروید ١٫٠ به ١٫١ بروز رسانی شد.
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

اندروید نسخه ١٫۵ یا Cupcake کیک فنجانی

نسخه ١٫٥ اندروید در ۳۰ آوریل ۲۰۰۹ منتشر شد. این نسخه اندروید مبتنی بر کرنل لینوکس ۲٫۶٫۲۷ بود.
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

اندروید نسخه ١٫٦ یا Donut پیراشکی

در ۱۵ سپتامبر ۲۰۰۹ اندروید نسخه ١٫٦ یا دونات منتشر شد. این نسخه اندروید مبتنی بر کرنل لینوکس نسخه ۲٫۶٫۲۹ بود.
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

اندروید نسخه ۲ و ۲٫۱ یا Éclair نان خامه ای

هر دو نسخه ۲ و ۲٫۱ اندروید مانند نسخه ۱٫۶ مبتنی بر کرنل لینوکس ۲٫۶٫۲۹ طراحی شده‌اند. اندروید ویرایش ۲ در ۲۶ اکتبر ۲۰۰۹ معرفی شد. در سوم دسامبر ۲۰۰۹ SDK نسخه ۲٫۰٫۱ معرفی شد و SDK ویرایش ۲٫۱ در ۱۲ ژانویه ۲۰۱۰ منتشر گردید.
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

نسخه ۲٫۲ یا Froyo ماست یخی

اندروید نسخه ۲٫۲ در ۲۰ مه ۲۰۱۰ معرفی شد. این ویرایش اندروید مبتنی بر کرنل لینوکس نسخه ۲٫۶٫۳۲ است.
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

اندروید نسخه ۲٫۳ یا Gingerbread نان زنجبیلی

اندروید نسخه ۲٫۳ یا نان زنجفیلی در ۶ دسامبر ۲۰۱۰ معرفی شد. این ویرایش اندروید مبتنی بر کرنل لینوکس نسخه ۲٫۶٫۳۵ است.
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

اندروید نسخه ۳ و ۳٫۱ و ۳٫۲ یا Honeycomb شانه عسل

اندروید نسخه ۳ و ۳٫۱ و ۳٫۲ یا کندوی عسل که مخصوص تبلت‌ها می‌باشد در فوریه ۲۰۱۱ (نسخه ۳)، مه ۲۰۱۱ (نسخه ۳٫۱)، ژوئیه ۲۰۱۱(نسخه ۳٫۲) معرفی شد.
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

اندروید نسخه ۴٫۰ یا Ice Cream Sandwich بستنی حصیری

اندروید نسخه ۴٫۰ یا بستنی حصیری در ۱۹ اکتبر ۲۰۱۱ معرفی شد و آن را روی تلفن همراه گلکسی نکسوس معرفی کرد. در این نسخه تغییرات عمده‌ای در این سیستم عامل نسبت به نسخه‌های پیشین به‌وجود آمد.
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

اندروید نسخه ۴٫۱ Jelly Bean آب‌نبات ژله‌ای

اندروید نسخه ۴٫۱ یا آب‌نبات ژله‌ای در ۲۷ جون ۲۰۱۲ در کنفرانس سالانه Google I/O معرفی شد. این نسخه که بر پایه هسته لینوکس ۳٫۰٫۳۱ بود با هدف افزایش کارایی و بهبود عملکرد رابط کاربری انتشار یافت. این نسخه در تاریخ ۹ ژوئیه ۲۰۱۲ بر روی سرورهای پروژه متن باز اندروید قرار گرفت. تبلت Nexus ۷ به عنوان اولین دستگاه مجهز به این نسخه در تاریخ ۱۳ ژوئیه ۲۰۱۲ منتشر شد.
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

اندروید نسخه ۴٫۲ Jelly Bean آب‌نبات ژله‌ای

اندروید نسخه ۴٫۲ یا آب‌نبات ژله‌ای قرار بود در تاریخ ۲۹ اکتبر ۲۰۱۲ توسط شرکت گوگل در مراسمی در شهر نیویورک معرفی شود اما این مراسم به دلیل وقوع توفان سندی منتفی شد.[۸] گوگل این مراسم زنده را تمدید نکرد و معرفی این نسخه از اندروید را در اخبار تحت عنوان «طعم جدیدی از آب‌نبات ژله‌ای» انجام داد. اولین دستگاه‌هایی که از این نسخه استفاده کردند، گوشی Nexus ۴ شرکت ال‌جی و تبلت Nexus ۱۰ شرکت سامسونگ بودند که در تاریخ ۱۳ نوامبر ۲۰۱۲ وارد بازار شدند.
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

اندروید نسخه ۴٫3 Jelly Bean آب‌نبات ژله‌ای

اندروید نسخه ۴٫3 یا آب‌نبات ژله‌ای در ژوئیه 2013 معرفی شد.

اندروید نسخه ۴٫۴ kitkat کیت‌کت

اندروید نسخه ۴٫۴ یا کیت کت در تاریخ ۳ سپتامبر ۲۰۱۳ برای اولین بار معرفی شد. البته اطلاعات دقیقی در مورد ویژگی‌های این نسخهٔ جدید منتشر نگردیده است و تنها نام آن به صورت قطعی اعلام شده است.
نستله، صاحب برند شکلات کیت‌کت (به انگلیسی: KitKat) در مقابل استفادهٔ اندروید از این نام برای نامگذاری اندروید ۴٫۴ که نوعی تبلیغ رایگان شکلات‌های آن به شمار می‌رود، برای گوگل و محصولات سری نکسوس، بر روی بسته‌بندی‌های خود تبلیغ خواهد کرد تا به این صورت یک بازی برد-برد برای هر دو شرکت شکل گرفته باشد و در حوزه‌های نفوذ یکدیگر تبلیغ کرده باشند.
معرفی پلتفرم اندروید و توصیف آنچه که اندروید را منحصر بفرد می کند:
Intents
Intent هسته ی پیام سیستمی که اندروید اجرا می شود، را مهیا می سازد. یک intent، از یک اکشن که نیاز به اجرا(View ، Edite ، Dial و غیره) و دیتا ترکیب شده است. اکشن یک عمل عمومی که زمانیکه intent دریافت می شود، اجرا می شود و دیتا، داده ای است که روی آن عملیات انجام می دهد. برای مثال داده ممکن است یک آیتم تماس باشد.
Intent برای آغاز فعالیت ها و ارتباط با بخش های مختلف سیستم اندروید استفاده می شود. اپلیکیشن شما می تواند هم یک intent منتشر کند(broadcast) و یا هم دریافت کند.
Sending messages with intents (ارسال پیام با intent)
وقتی یک intent منتشر می شود، شما پیامی ارسال می کنید که به اندروید می گوید یکسری رویداد ایجاد کند. این intent می تواند به اندروید بگوید که یک فعالیت جدید درون اپلیکیشن شما شروع کند و یا می تواند یک اپلیکیشن دیگری را آغاز کند.
Registering intent receivers (ثبت گیرنده ی intent):
زمانیکه شما یک پیام ارسال می کنید، به معنی این نیست که به طور اتوماتیک چیزی اتفاق افتد. شما باید یک گیرنده intent رجیستر(ثبت) کنید تا به intent گوش دهد و سپس به اندروید می گوید چه کاری انجام دهد، که یا task عمل جدیدی را شروع کند و یا یک اپلیکیشن دیگری را اجرا کند. اگر تعدادی گیرنده دریافت intent را قبول کنند، یک انتخاب کننده می تواند ایجاد شود تا به کاربر اجازه دهد تا اپلیکیشنی که می خواهد استفاده کند را انتخاب کند. یک مثال کلاسیک long-pressing یک نصویر در گالری تصاویر می باشد. Long-pressing یعنی کلیک کردن چیزی برای یک مدت زمانی تا اینکه یک context منو بالا بیاید.
به طور پیشفرض، گیرنده های رجیستر شده ی مختلف intent های image-sharing را اجرا می کند. یکی از آنها e-mail و دیگری اپلیکیشن پیام(از بین اپلیکیشن های نصب شده ی دیگر) می باشد. برای اینکه بیش از یک گیرنده intent ممکن را پیدا کنید، به کاربر یک انتخاب کننده که از او می پرسد که چه کاری باید انجام دهد، ارائه می شود: مانند تصویر زیر که می گوید یکی از کارهای زیر را انجام دهد: e-mail ، messaging ، و اپلیکیشن های دیگر:
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

Cursorless controls

بر خلاف pc ها(کامپیوتر های خانگی)، که به شما اجازه می دهد که از موس برای حرکت مکان نما روی صفحه استفاده می شود، وسایل اندرویدی به شما اجازه می دهد که از انگشتتان برای انجام فقط بعضی از کارهای موس استفاده کنید. اما بجای کلیک راست از چه کاری انجام می شود؟ بجای کلیک راست، اندروید long press را انجام می دهد. فشردن(press) و نگه داشتن(hold) یک دکمه، آیکن و یا صفحه(screen) برای طول دادن یک دوره زمانی، و یک context منو ظاهر می شود. به عنوان یک توسعه دهنده، شما می توانید context منو بسازید و آن را اداره کنید.

Views and widgets

View یک المنت معمولی UI است. در زیر چند نمونه از view آمده:
• ContextMenu
• Menu
• View
• Surface view
Widget پیشرفته تر از المنت های UI می باشد. مانند check box . در زیر چند نمونه از widget آمده:
• Button
• CheckBox
• DatePicker
• DigitalClock
• Gallery
• FrameLayout
• ImageView
• RelativeLayout
• PopupWindow
تعدادی از widget های بیشتر برای استفاده وجود دارد. به پکیج android.widget در داکیومنت اندروید واقع در سایت آن مراجعه کنید:
http://developer.android.com/reference/android/widget/package-summary.html

Asynchronous calls

کلاس AsyncTask در اندروید به شما اجازه می دهد که چند عمل را بدون اینکه خودتان آن را در نخ های جداگانه مدیریت کنید، همزمان با هم اجرا کنید.

Hardware Tools

تلفن های اندروید با چندین ویژگی نرم افزاری آمد که می توانید از آنها برای ساخت اپلیکیشن هایتان از آنها استفاده کنید. مانند جدول زیر:
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن
بیشتر تلفن های اندروید با سخت افزاری که در زیر توضیح داده شد ساخته شده اند. اندروید برای تولید کننده های سخت افزار رایگان می باشد. بنابراین در رنج وسیعی از وسایل استفاده می شود. همچنین، برای پیشرفت تکنولوژی، کارخانجات تلفن شروع به کردند تا ویژگی هایی که هنوز توسط اندروید پشتیبانی نشده اند، اضافه کنند. اما نگران نباشید; تولیدکنندگانی که این سخت افزار ها را اضافه کرده اند معمولا یک کیت توسعه ی نرم افزاری(SDK) پیشنهاد می کنند تا به توسعه دهندگان اجازه دهند تا از این ویژگی خاص بهره برداری کنند. به عنوان مثال ، HTC Evo 4G ساخته شده ی Sprint. تلفن های اندرویدی است که با دوربین های جلو آمد. به دلیل اینکه این وسیله اولین در نوع خودش بود، Sprint یک SDK بیرون داد تا توسعه دهندگان بتوانند از این ویژگی مفید استفاده کنند. وسایل اندروید در اشکال و سایز های مختلف آمده: تلفن، تبلت و e-book ریدر ها(کتاب خوان). در آینده ممکن است کاربرد های دیگر آن را بیابید. مانند تلویزیون های گوگل در کاربرد های خانگی اندروید و ماشین هایی که با کامپیوتر های لمسی ساخته شده. مهندسانی پشت تولیدات وسایل اندرویدی هستند که به شما اجازه می دهند تا به سادگی اپلیکیشن ها را برای وضوح و سایز صفحه، توسعه دهید.

Touchscreen

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

GPS

سیستم عامل اندروید با یک GPS تلفن بی سیم ترکیب شده که به توسعه دهنده اجازه می دهد تا موقعیت کاربران را بدست آورد.

Accelerometer

اندروید از accelerometer پشتیبانی می کند. یک accelerometer وسیله ای است که شتاب را می سنجد. اگر شما می خواهید بدانید که تلفن حرکت کرده و یا بلرزد یا بچرخد، به شما می گوید.

SD Card

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

Software Tools

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

Contacts

اپلیکیشن شما می تواند تماس های کاربر که در تلفن ذخیره شده را در دسترس قرار دهد.
همه ی نرم افزار هایی که برای توسعه ی اپلیکیشن اندروید نیاز دارید رایگان می باشد.
باید بدانید که سورس کدکامل اندروید ، متن باز می باشد. این به این معنی که فقط برای استفاده رایگان نیست بلکه همچنین برای اصلاح رایگان می باشد. اگر دوست دارید می توانید سورس کد اندروید را دانلود کنید و ورژن جدیدی از اندروید بسازید. شما می توانید این سورس کد را از آدرس زیر دانلود کنید:
http://source.android.com
اندروید بر پایه ی هسته لینوکس 2.6 ساخته شده است. تیم اندروید این هسته را انتخاب کرده اند زیرا این هسته خصوصیات مناسبی برای توسعه ی سیستم عامل اندروید مهیا می کند. ویژگی هسته ی لینوکس 2.6 شامل موارد زیر می باشد(اما به آن محدود نمی شود):
1- امنیت: هسته ی لینوکس امنیت را میان اپلیکیشن و سیستم اداره می کند.
2- مدیریت حافظه: هسته مدیریت حافظه را برای شما انجام می دهد و شما را در توسعه ی اپلیکیشن آزاد می گذارد.
3- مدیریت پردازش: هسته ی لینوکس پردازش ها را به خوبی مدیریت می کند و منابع مورد نیازشان را به آنها اختصاص می دهد.
4- شبکه: همچنین هسته ی لینوکس ارتباطات شبکه ای را اداره می کند.
5- الگوی درایور: هدف لینوکس این است که اطمینان دهد که با هر سخت افزاری کار کند. تولید کنندگان سخت افزار می توانند درایور هایشان را تحت لینوکس بسازند.
در زیر چند نمونه از ویژگی های Linux 2.6 را مشاهده کنید:
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن

فریم ورک اندروید

به دلیل هسته ی لینوکس2.6، فریم ورک اندروید هم با ویژگی های مختلفی توسعه یافت. این ویژگی ها به سمت پروژه ی متن باز بیشماری کشیده شد. خروجی این پروژه ها در زیر نتیجه شده:
1- زمان اجرای اندروید: زمان اجرای اندروید از کتابخانه های هسته ی جاوا و ماشین مجازی دالویک، ترکیب شده است.
2- Open GL(graphics library) : در این پلتفرم به طور متقابل از API ای برای تولید گرافیک کامپیوتری دوبعدی و سه بعدی استفاده شده است.
3- (webkit)وب کیت : این موتور جستجوی وب متن باز، قابلیت نمایش محتوای وب و بارگذاری صفحه فراهم می کند.
4- SQLite : این موتور پایگاه داده ی رابطه ای متن باز، وسیله های توکار طراحی شده است.
5- مدیا فریم ورک: این کتابخانه ها به شما اجازه ی ضبط و پخش صوتی و تصویری می دهد.
6- SSL(secure sockets layer) : این کتابخانه ها مسئول امنیت اینترنت می باشد. ssl یک پروتکل امنیتی است.
در زیر لیستی از کتابخانه های اندروید آمده است:
آموزش  برنامه نویسی  برای اندروید با ایکلیپس(1)- تاریخچه اَندروید و نسخه های آن
استفاده از مطالب این مقاله با ذکر منبع راسخون بلامانع می باشد.



 

 



مقالات مرتبط
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
موارد بیشتر برای شما