خانه / آموزش / آموزش زبان برنامه نویسی اندروید – قسمت دوم

آموزش زبان برنامه نویسی اندروید – قسمت دوم

دیگر برنامه اندروید برای موبایلتان را خودتان بنویسید.
زبان اندروید
قسمت دوم:
وقتی در طول توسعه نرم افزاتون، احتیاج به آزمایش (تست) برنامتون دارید، حتما نیاز به یک دستگاه مجازی (virtual device) یا شبیه ساز (emulator) دارید.
برای ساختن یه دستگاه مجازی اول برنامه مدیریت اس دی کی رو اجرا کنید و از ستون سمت چپ قسمت virtual device رو انتخاب کنید.
برای ساختن دستگاه مجازی از منوی بالای برنامه مدیریت اس‌دی‌کی، Tools و بعد هم …manage AVDs رو انتخاب کنید
از ستون سمت راست گزینه new رو انتخاب کنید. در پنجره باز شده باید اسمی برای این دستگاه مجازیتون انتخاب کنید.
۳.حالا در قسمت هدف (target) باید اون نسخه ای از API رو انتخاب کنید که قبلا دانلود کردید. (توصیه می شه نسخه ۲.۱ رو انتخاب کنید تا نرم افزارتون روی دستگاه های بیشتری اجرا بشه)
البته اگر بخواید target رو از API 14 به بالا تنظیم کنید نیاز به system-image دارید.
اول system-image مربوط به API مورد نظرتون رو از این آدرس یا این آدرس دانلود می کنید. (درون پوشه API مورد نظرتون روی نوع system-image ای که می‌خواهید کلیک کنید تا دانلود شود) بعد در محلی که SDK تون رو ذخیره کردید (کنار فولدر های tools و platforms و platform-tools و …) یه فولدر به اسم system-images درست کنید بعد درونش یه پوشه به اسم API مورد نظرتون ایجاد کنید مثلا برای API-17 پوشه رو به این نام بسازید android-17 و اون فایل که دانلود کردید رو از حالت فشرده خارج کنید و داخل فولدری که همین الان ایجاد کردید بذارید.

این شبیه ساز همه چیز رو شبیه سازی می کنه، باید حجم کارت حافظه (SD card) رو هم تعیین کنید (پیشنهاد میشه عدد ۱۰۰۰۰ را در size بنویسید)
گزینه ی snapshot رو enabled کنید یعنی تیک بزنید. این کار باعث میشه تا هر موقع شبیه ساز رو بستید یه عکس از آخرین وضعیت می گیره و دفعه بعد که خواستید اجراش کنید خیلی سریعتر بارگزاری میشه
سپس باید برای کارتون یک وضوح تصویر (resolution) مناسب تعیین کنید. (وقتی که خواستیم کارمون رو تو وضوح تصویرهای مختلفی امتحان کنیم برمیگردیم به این قسمت و چند تا دستگاه مجازی با وضوح تصویرهای مختلف می سازیم، ولی بهتره همون پیش فرضش باشه)
با توجه به سیستمی که استفاده می کنید کمی زمان خواهد برد، پس صبر کنید تا تمام شود.
حالا برای بررسی اینکه آیا دستگاه مجازی درست کار می کنه یا نه، روی اون دستگاه مجازی که ساختید کلیک کنید و از ستون سمت راست گزینه start رو انتخاب کنید
حالا از شما می پرسد که شبیه ساز رو در چه اندازه ای می خواید اجرا کنید (با توجه به وضوح تصویرتون، عدد مناسب وارد کنید)
گزینه ی scale display to real size رو تیک زده و اندازه دلخواهش رو وارد کرده.
در ضمن گزینه ی wipe user data رو میتونید تیک دار کنید تا اگه قبلا از این شبیه ساز استفاده شده باشه (یا حالا مثلا بعدا که دوباره خواستید برای یه پروژه دیگه ازش استفاده کنید) تمام اطلاعات اضافی ذخیره شده رو پاک می کنه و همه چیز رو به تنظیمات اولیه (کارخونه) بر میگردونه.
سه گزینه در پایین صفحه باز شده هست که باید گزینه ی ۲ و ۳ را هم تیک دار نمایید
حالا وقتی روی Lunch کلیک کنید، شبیه ساز شروع به کار می کنه (البته وقتی برای اولین بار اجراش می کنید خیلی کند پیش می رود ولی در مراجعه بعدی درست می شود)
در آموزش های بعد یاد میگیریم چگونه از دستگاه مجازی های متنوع، برای امتحان نرم افزارمون در نسخه های مختلف اندروید و یا اندازه صفحه های مختلف موبایل ها استفاده کنیم.
مراحل نصب ایکلیپس (Eclipse) روی ویندوز
ایکلیپس محیطی ست که برای توسعه اندروید از آن استفاده می کنید. (به جای استفاده از notepad برای نوشتن کدها و command line برای کامپایل کردن، خیلی راحتتره که از ایکلیپس استفاده کنید) برای نصب ای‌کلیپس به سایت اصلیش شوید (http://www.eclipse.org/downloads//) و نسخه‌ی مناسب سیستمتون رو دانلود کنید. برای این کار روی دکمه ی زرد بالا سمت راست صفحه ای که باز میشه کلیک کنید.
برای مثال لینک زیر برای ویندوز ۳۲ بیت است
http://ftp.osuosl.org/…/luna/SR1/eclipse-java-luna-SR1-win3…
و لینک زیر برای ویندوز ۶۴ بیت
http://carroll.aset.psu.edu/…/eclipse-java-luna-SR1-win32-x…
با توجه به اینکه SDK رو نصب کردید، حالا برای توسعه اندروید به یه نسخه ی ساده از ایکلیپس احتیاج داریم. پس همون اولین گزینه (Eclipse IDE for Java Developers) رو انتخاب کنید. و با توجه به سیستمتون روی یکی از موارد ۳۲ بیتی یا ۶۴ بیتی کلیک کنید که لینکش رو در بالا برای شما گذاشتم.
فایل دانلود شده یک فایل zip هست. روش دوبار کلیک کنید تا داخلش بشید.
چون ایکلیپس یه نرم افزار بر پایه‌ی جاواست پس فایل نصب مثلا با فرمت .exe نیست. کل پوشه‌ی eclipse که باز کرده اید رو cut کنید. 

از درایو C (درایوی که ویندوز در آن نصب شده) به پوشه‌ی Program files بروید و paste کنید.
حالا وقتی روی پوشه‌ای که paste کردید کلیک کنید، فایل اجرایی ایکلیپس رو می‌بینید. روش کلیک کنید تا برنامه اجرا بشه
ممکنه این پیغام رو بده که صحت و سقم این برنامه معلوم نیست، گزینه‌ی Always ask before opening this file رو غیر فعال کنید تا هر دفعه ازتون نپرسه. و روی Run کلیک کنید تا برنامه اجرا بشه.
وقتی روی برنامه کلیک می‌کنید، ازتون می‌پرسه که چه محلی رو برای ذخیره ی پروژه هاتون در نظر گرفتید؟
اگه نمی خواهید هردفعه که ایکلیپس رو باز می‌کنید این سوال رو ازتون بپرسه، گزینه‌ی use this as the default and don’t ask again رو فعال کنید.
برای اولین بار که ای‌کلیپس رو اجرا می‌کنید، یه صفحه‌ی خوش آمد میاره، از تو این صفحه روی Workbench کلیک کنید و در این مرحله صفحه اصلی ای‌کلیپس باز میشود.

مراحل نصب «ابزار توسعه اندروید» ADT در ایکلیپس
۱.برای نصب ADT باید به سایت اصلی آن بروید (http://developer.android.com/sdk/eclipse-adt.html) که البته چون گوگل ایران رو تحریم کرده و به IP ایرانی اجازه ورود به این سایت را نمی‌ده.
به همین دلایل فایل مورد نیاز رو برای شما آماده دانلود کرده ایم
http://downloads.puresoftware.org/…/andr…/ADT/ADT-23.0.2.zip
اگه با دیگر نرم افزارها وارد سایت اصلی شدید، تقریبا به انتهای صفحه برید جایی که نوشته Downloading the ADT Plugin، یک URL (آدرس اینترنتی) اونجا هست کپی‌ش کنید.

۲. به برنامه ایکلیپس برید و از منوی بالاش Help رو بزنید بعد هم Install New Software.
۳. اگه در مرحله قبل، ADT رو به صورت zip شده دانلود کردید، روی Add کلیک کنید، گزینه Archive رو بزنید، به آدرسی برید که فایل zip شده رو ذخیره کردید، (همون طوری که zip هست و Extract یا UnArchive اش نکنید) فایل رو انتخاب کنید، open رو بزنید، یه اسم براش بذارید و OK رو بزنید.
اگه هم تو مرحله قبل آدرس اینترنتی رو کپی کردید، روی Add کلیک کنید، یه اسم براش بذارید، لینک رو paste کنید و ok رو بزنید و منتظر بمانید تا لیست رو بارگزاری کند.
۴.وقتی لیست ابزار توسعه ظاهر شد، گزینه Developer Tool رو با تمام زیر شاخه هاش انتخاب کنید (چون همه‌ش رو احتیاج داریم)‌. next بزنید. بعد یه صفحه میاد که اون چیزایی که می خواید دانلود کنید رو مرور می‌کنه Next رو بزنید.
۵. باید جواز و مدارک اونا رو قبول کنید پس I agree with terms of the license agreement رو انتخاب کنید و Finish رو بزنید.
۶. حالا شروع به نصب می‌کنه، و با این پیغام روبرو می‌شید که به شما هشدار می‌ده دارید مواردی رو نصب می‌کنید که ناشناخته هستن و ممکنه خطرناک باشن، مهم نیست OK رو بزنید.
۷.وقتی نصبش تموم شد، می تونید همون موقع شروع به کار کنید ولی خیلی توصیه می‌شه که یه بار برنامه رو از اول اجرا کنید، پس گزینه Restart Now رو انتخاب کنید (طولی نمی‌کشه)
۸.خوب وقتی دوباره ایکلیپس باز شد، سریعترین راه برای اینکه بررسی کنید همه چیز درست نصب شده اینه که باید قسمتی به نوار بالای برنامه اضافه شده باشه که شامل دستوراتی برای ساختن برنامه اندرویده.
کاربرد دکمه هایی که اضافه شده (از چپ به راست به ترتیب)
باز کردن برنامه مدیریت اس دی کی (SDK manager)
بازکردن برنامه مدیریت دستگاه‌های مجازی (Virtual Device Manager)
ساختن یه فایل XML اندروید
۹.حالا بیاید یه کم محیطی که قراره باهاش کار کنیم رو اصلاح کنیم و تغییر بدیم. مثلا قسمت Task list که اول ستون سمت راسته به درد نمی‌خوره جا زیادی گرفته، ضربدرشو می‌زنیم. ما در کار با پروژه های اندرویدی خیلی به پنل ویژگی‌ها (Property Panel) احتیاج داریم و باید دم دست باشه، پس روی window بعد هم Show view میریم، اگه توی لیست بود که انتخابش می کنیم وگرنه other رو بزنید تا پیداش کنیم.
۱۰. تو قسمت General انتخابش کنید و OK بزنید.
۱۱.الان پنل ویژگی‌ها اون پایین اومده، برای اینکه باهاش راحتتر کار کنیم، می‌کشیم (Drag) می‌بریمش پیش OutLine (که تو ستون سمت راسته)
۱۲.اون پنل پایین رو هم خیلی احتیاج نداریم می تونید کوچیکش کنید (Minimize).
۱۳.خوب اگه دلتون می‌خواد ستون سمت راستی رو هم کوچیک کنید تا جا برای کد نوشتن وسیع‌تر بشه.
حالا کار مهمی که باید انجام بدیم اینه که به ایکلیپس بگیم که اندروید اس‌دی‌کی کجا هست (تا ایکلیپس بتونه بهش لینک بشه). برای این کار از نوار بالا window بعد هم preferences. (مک : از نوار بالا روی Eclipse کلیک کنید و بعد preferences)
۱۴.از ستون سمت چپ روی Android کلیک کنید، جلوی قسمتی که نوشته SDK Location و محل اس‌دی‌کی رو می‌خواد، روی Browse بزنید. به مکانی برید که اس‌دی‌کی رو ذخیره کردید. پوشه‌ی android-sdk رو انتخاب کنید و ok بزنید.
۱۵. روی Apply کلیک کنید. حالا باید نسخه هایی رو که دانلود کردید رو نشون بده، اگه همه چیز مرتبه، OK بزنید.
۱۶. حالا اگه رو دکمه‌ی باز کردن برنامه مدیریت اس دی کی (تو مرحله شماره ۸ گفته شده) کلیک کنید، مدیریت اس‌دی‌کی رو اجرا می‌کنه (اگه قبل از مرحله ۱۳ روش می‌زدید پیغام خطا می‌داد که محل اس‌دی‌کی رو نمی‌دونه)
۱۷.بعد از انجام تمام این کارا، شما الان رسما می‌تونید توسعه اندروید (کد زدن) رو آغاز کنید.

آماده کردن دستگاه اندروید (گوشی) برای توسعه
وقتی می‌خواید که نرم افزارتون رو روی دستگاه واقعی اندروید (گوشی اندرویدی) امتحان کنید، باید یه سری نکات رو رعایت کنید تا برنامتون اجرا بشه.
خوب قبل از اینکه نشونتون بدم باید بگم که سیستم عامل گوشی های اندروید، ممکنه تفاوتهای کوچیکی باهم داشته باشن و خیلی کم پیش میاد دقیقا مثل همدیگه باشند، مثلا گوشی های HTC یا Motorola و … سیستم عاملشون یه تفاوتهایی داره و دقیقا همون نسخه‌ی خام گوگل رو استفاده نمی‌کنن. ولی در کل محلی که تنظیمات (Setting) قرار می‌گیره معمولا یکیه.
۱.خوب با توجه به این توضیحات، توی گوشی اندرویدتون منو (Menu)‌ رو بزنید. بعد هم Settings.
۲.بعد هم Applications.
۳. بعد هم Development.
خوب از همه مهمتر اینه که گزینه‌ی USB Debugging فعال باشه تا وقتی با کابل گوشی رو به کامپیوتر وصل می‌کنید بتونید به راحتی نرم افزارتون رو روش امتحان کنید.
گزینه‌ی سوم یعنی Allow Mock Locations زمانی به درد میخوره که تو برنامتون از امکانات جی‌پی‌اس (مکان یاب) استفاده کرده باشید. اگه این گزینه فعال نشده باشه اجازه نمی‌ده برای تست کردن برنامتون از مکان‌های جعلی استفاده کنید. مثلا احتیاج دارید ببینید تو یه شهر دیگه اون قسمتی از برنامتون که مربوط به مکان فرد می‌شه، چطور عمل میکنه. میتونید با فعال کردن این گزینه تو شهرخودتون باشید ولی جی‌پی‌اس نشون بده یه شهر دیگه اید تا اینطوری برنامتون رو امتحان کنید.

نمای کلی از توسعه اندروید
اول بریم سراغ معماری اندروید :
اندروید روی لینوکس ۲.۶ سوار شده.
با یه ماشین مجازی به اسم دالویک (Dalvik) که مخصوص موبایل طراحی و بهینه سازی شده، کار می کنه.
مرورگر متحدی بر پایه موتور وب کیت (Webkit) داره.
گرافیکش با اپن‌جی‌ال ای‌اس (OpenGL ES) بهینه سازی شده.
از پایگاه داده‌ی سیکوآل لایت (SQLite) به عنوان ساختار ذخیره سازی داده ها استفاده میکنه.
حالا خیلی سریع به نسخه های مختلف اندروید می پردازیم
اندروید ۲.۰ ۲.۱ ایکلر (Eclair)
اندروید ۲.۲ فرویو (Froyo)
اندروید ۲.۳ جینجربرد (Gingerbread) – مخصوص موبایل
اندروید ۳.۰ هانی کوم (HoneyComb) – مخصوص تبلت ها
اندروید ۴.۰ آیس کریم سندویچ (IceCream Sandwich) – هم برای موبایل هم تبلت
حالا نگاهی می اندازیم به بنیاد برنامه‌های اندروید :

برنامه‌های اندروید به زبان برنامه نویسی جاوا نوشته می‌شه.
برنامه‌های کامپایل شده در فایل‌هایی با پسوند apk ذخیره می‌شن (apk = android package file)
هر برنامه‌ای در سندباکس (SandBox) جداگانه‌ای اجرا میشه که از بقیه‌ی برنامه‌ها ایزوله‌اش می‌کنه و هر برنامه در پروسه‌ی لینوکسی خودش اجرا می‌شه
هر برنامه‌ای شامل فایل‌‌های جزئی (component)، فایل‌های ظاهری (manifest) و منابع (resources) میشه.
فایل‌های جزئی شامل :
فعالیت (Activities)
خدمات (Services)
ارائه دهنده‌ی محتوا (content provider)
گیرنده‌ی پخش (broadcast receiver)
بیاید با هم در مورد همین موارد آخر بیشتر یاد بگیریم.

فعالیت (Activities)
یه فعالیت کارش اینه که که یه صفحه نمایش رو با رابط کاربری (UI) نشون بده. (مثلا کاربر می خواد ایمیل هاش رو چک کنه، همون صفحه ای که لیست ایمیل هاش رو نشون می ده یه فعالیته، وقتی رو ایمیل کلیک میکنه یه فعالیت دیگه شروع میشه که باعث میشه کاربر یه صفحه‌ی دیگه رو ببینه، وقتی می خواد ایمیل بفرسته یه صفحه‌ی دیگه براش باز میشه که یه فعالیت دیگه است)
اگثر برنامه ها از بیش از یک فعالیت استفاده می کنن.
وقتی یک فعالیت شروع میشه، به پشته‌ی بازگشت (back stack) هل داده میشه. (push میشه) – خوب مثلا وقتی کاربر اولین صفحه‌ی یه برنامه رو باز می کنه، بعد جایی کلیک میکنه و فعالیت دیگه ای باز میشه، فعالیت قبلی متوقف میشه (داخل پشته هل داده میشه) و فعالیت جدید روی قبلی شروع به کار میکنه، وقتی کاربر دکمه بازگشت () رو میزنه، فعالیت فعلی رو متوقف می کنه (میبنده) و فعالیت قبلی رو از همون جایی که متوقف کرده بود، اجرا میکنه. (در واقع از تو پشته پاپ میکنه) –
رابط کاربری با XML یا مستقیما از خود جاوا ساخته میشه.
میتونید طول عمر یه فعالیت رو با توابع مختلفی زیرنظر داشته باشید، توابعی مثه ()onStart یا ()onPause. تا روند اجرای هر فعالیتی رو کنترل کنید.

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

ارائه دهنده‌ی محتوا (content provider)
کارشون ذخیره و بازیابی داده هاست و اینکه داده ها رو برای همه برنامه ها قابل دسترسی کنن.
تنها راه برای اشتراک گزاری داده ها بین برنامه های مختلفه (چون به طور پیش فرض، برنامه ها راهی برای اشتراک گزاری داده‌شون به برنامه‌های دیگه رو ندارن)
یک URI عمومی منتشر میکنه که به طور منحصر به فرد مجموعه‌ی داده‌هاش رو شامل میشه. (مثلا اگه بخوایم یه سری از اطلاعاتمون رو به صورت عمومی در اختیار بقیه‌ی برنامه‌ها قرار بدیم، اونها رو در یک «ارائه دهنده محتوا» میذاریم.)
این داده ها به سادگی از طریق جدول هایی به مدل پایگاه داده منتشر میشن.
خود اندروید شامل یه عالمه «ارائه دهنده» است، مثه رسانه‌ها، دفترتلفن و…

گیرنده‌ی پخش (broadcast receiver)
گیرنده‌ی پخش ساخته شده تا به اعلامیه‌های درون سیستمی پاسخگو باشه.
مثلا وقتی صفحه خاموش میشه، اندروید یه گیرنده میفرسته تا برنامه هایی که در حال اجرا هستن بفهمند که صفحه خاموش شده و برنامه رو در حالت تعلیق نگه دارن یا ببندن یا هر کار دیگه ای که باید بکنن، یا مثلا وقتی باتری داره تموم میشه و …. – پس وقتی برنامه‌ای رو می‌سازیم باید حواسمون باشه یه گوش دهنده (listener) بزاریم که اگه همچین اتفاقاتی افتاد، برنامه، یه کار خاصی رو انجام بده-
برنامه‌ی خود شما هم میتونه فرستادنده هایی رو بفرسته تا برنامه های دیگه بهش جواب بدن.
گیرنده های پخش شامل هیچ رابط کاربری ای نیستند.
گیرنده ها می تونن به نوار وضعیت (status bar)، اخطار (notification) بفرستن تا به کاربر هشدار بدن.

فایل های ظاهری اندروید
هر برنامه ای باید یک فایل AndroidManifest.XML در ریشه دایرکتوریش داشته باشه.
کار این فایل اینه که به سیستم اندروید درباره برنامه توضیحاتی رو ارائه بده.
این فایل، اجزائی رو که در برنامه به کار می‌برید رو توصیف می کنه. (اجزا مثه فعالیت ها، خدمات، گیرنده ها و ارائه دهنده ها)
اجازه هایی (permission)‌ که برای اجرای برنامه باید از کاربر گرفته بشه رو اعلام می کنه. (احتمالا تا حالا برنامه هایی رو دیدید که قبل از نصب از شما یه سری اجازه میگیرن برای دسترسی به قسمت های مختلف گوشی).
این فایل، پایین ترین نسخه‌ی اندرویدی (API) که برنامه می تونه روش اجرا بشه رو اعلام می کنه.

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

آموزش ها همچنان ادامه دارند.
فرزین نجفی پور: مدیرعامل شرکت دانش پژوهان طلیعه ایرانیان

درباره ی فرزین نجفی پور

پژوهشگر برتر کشور در چند سال متوالی - مخترع برتر کشور - ثبت 61 اختراع کاربردی در زمینه های کشاورزی، آبیاری، الکترونیک، رباتیک و هوا فضا - دارای مدرک کارشناسی ارشد - ارایه بیش از 100 مقاله علمی - دریافت دهها تندیس ویژه علمی - دریافت بیش از 150 تقدیر نامه از وزارت خانه ها و مراکز علمی و پژوهشی - برپایی بیش از 150 نمایشگاه تخصصی اختراعات - پیشگام در دفاع سایبری عملی از حریم جمهوری اسلامی ایران

همچنین ببینید

چگونه پوست صورت خود را زیبا کنیم؟

اسیدهای میوه کارکردهای بسیاری برای پوست دارند. آنها می توانند همه کاربرای زیبایی پوست انجام دهند؛ ...