بسم الله الرحمن الرحیم
آموزش برنامه نویسی اندروید – سطح مبتدی (قسمت اول)
منبع انگلیسی: Android Application Development For Dummies
فصل اول – معرفی
این آموزش برای شروع کار برنامه نویسی برای اندروید نوشته شده است. برای فهمیدن این آموزش علم برنامه نویسی زیادی لازم نیست، اما لازم است پیش زمینه ای از جاوا داشته باشیم. XML نیز برای قسمت های مختلف لازم است.
جاوا یک زبان سطح بالا است که به بزرگی و کوچکی حروف حساس است، پس دقیقا باید از کدهایی که اینجا نوشته شده است استفاده کنید.
برای شروع برنامه نویسی اندروید شما به کامپیوتری مجهز به یکی از سیستم عامل های زیر نیاز دارید:
Windows XP (32 bit), vista (32 & 64 bit), win 7 (32 & 64 bit)
Mac OSX (intel) 10.5.8 (x86)
Linux (i386)
همچنین به Android SDK و Java Development Kit (JDK) نیاز است که هر دوی آنها برای دانلود رایگان موجود هستند.
شما به هیچ سخت افزار اندروید (گوشی یا تبلت) نیاز ندارید، چون تمام برنامه هایی که اینجا می سازیم روی شبیه ساز اندروید اجرا می شوند.
گوگل در سال 2005 مالک پروژه اندروید شد.
اندروید مارکت کمک خوبی برای کاربران است، مارکت برنامه های شما را روی اینترنت قرار نمی دهد، بلکه آنها را در لیست برنامه های مارکت می گذارد و بعد از نصب و آزمایش روی دستگاه های مختلف و نظرات کاربران دیگر در مورد برنامه ی شما کاربران دیگر اقدام به نصب نرم افزار شما از بین هزاران نرم افزار مخصوص برای خود می کنند.
اندروید می تواند روی انواع سایزهای صفحه نمایش و انواع Resolution اجرا شود.
گوگل در اندروید مارکت دسته بندی های اختصاصی دارد، برای مثال اگر برنامه شما از دوربین مکالمه تصویری استفاده میکند، برنامه شما فقط برای دستگاه هایی لیست می شود که دوربین مکالمه تصویری داشته باشند.
در اندروید API های مختلف می توانند با هم تعامل داشته باشند، برای مثال می توان در شبکه های مجازی با استفاده از GPS مکان کنونی را نیز برای دیگران مشخص نمود.
در برنامه نویسی اندروید از زبان برنامه نویسی جاوا و از J2EE استفاده می کنیم. اما نیز از زیرمجموعه ای از جاول با نام Dalvik Virtual Machine استفاده خواهیم کرد.
Activities
برنامه های اندروید از یک یا چند activity ساخته شده اند.
Intent ها برای اجرای activityها استفاده می شوند. Intent دستوری به عملیاتی که می خواهد اجرا شود می فرستد.
View, Edit, Dial, … نوعی intent هستند.
Intent برای اجرای activity ها و ارتباط بین قسمت های مختلف اندروید استفاده می شود. برنامه شما می تواند یک intent را به طور گسترده بفرستد یا بگیرد.
فرستادن پیام با Intentها:
وقتی شما یک Intent را منتشر می کنید، شما به اندروید یک پیام می فرستید که به اندروید می گوید کاری انجام دهد. این Intent می تواند به اندروید بگوید یک activity جدید را از برنامه شما اجرا کند یا یک برنامه دیگر را اجرا نماید.
ثبت Intent دریافت شده:
فقط چون شما پیام می فرستید به این معنی نیست که همه چیز اتوماتیک اتفاق می افتد. شما باید یک گیرنده Intent ثبت کنید که به Intentها گوش کند و سپس به اندروید بگوید که چه کار کند. خواه عمل مورد نظر اجرای یک activity جدید باشد یا اجرای یک برنامه دیگر باشد.
اگر گیرنده های مختلفی بتوانند Intent ها را بگیرند یک انتخابگر می تواند عمل مورد نظر را برای اجرا انتخاب کند، یک مثال ساده کلیک طولانی روی یک عکس در گالری است که باعث بازشدن یک منو برای عکس می شود.
به طور پیش فرض ، گیرنده های ثبت شده ی زیادی به Intent اشتراک عکس ها سازمان می دهد. یکی از آنها email است و یکی دیگر برنامه های پیام رسانی که نصب شده است می باشد.
چون شما می توانید از گیرنده Intent موجود زیادی استفاده کنید، کاربر می تواند یکی از آنها را استفاده نماید، مانند شکل زیر:
کنترل های بدون مکان نما:
برعکس PC یک سیستم اندروید از ماوس استفاده نمی کند، پس کلیک راست چگونه اجرا می شود؟ مثلا برای این کار می توان از گرفتن طولانی دکمه ای استفاده کرد یا آیکونی برای این منظور گذاشت یا با گذاشتن دو انگشت این عمل انجام شود.
اما باید به این نکته توجه داشت که ممکن است افراد انگشتان با سایزهای متفاوتی داشته باشند، پس باید دکمه های برنامه ی شما به اندازه ی کافی بزرگ باشند.
View , Widget ها:
یک view یک کنترل ساده UI است ، یک ناحیه مستطیلی روی صفحه که به رخدادها و اعمال انجام شده روی صفحه پاسخ میدهد.
View شبیه یک کنترل ساده مانند یک Label در HTML است.
چند مثال از viewها:
Context Menu
Menu
View
Surface View
Widget یک کنترل UI پیشرفته تر است، مانند checkbox و کنترل هایی هستند که کاربر با آنها در تعامل می باشد.
چند مثال از widgetها:
Button
checkBox
DatePicker
DigitalClock
Gallery
FrameLayout
ImageView
RelativeLayout
PopupWindow
تعداد زیادی widget برای استفاده شما آماده است.
Asynchronous Calls
کلاس AsyncTask در اندروید به شما اجازه می دهد که عملیات چندگانه را انجام دهید. بدون نیاز به مدیریت نخ ها AsyncTask نتیجه را به activity که آن را اجرا کرده باز می گرداند. این سیستم به شما اجازه مدل کردن یک برنامه ی غیرهمزمان را می دهد.
مثالی از یک برنامه غیرهمزمان می تواند یک برنامه ای باشد که زمان زیادی برای انجام عمل خود لازم دارد، مانند یک برنامه تحت شبکه (Internet) یا یک برنامه ی پردازش فیلم و هر چیزی که باید کاربر مقداری صبر کند.
اگر کاربر صبر کند شما باید از یک Asynchronous Call استفاده کنید و به او بفهمانید چیزی در حال اتفاق افتادن است.
ایراد در مدل Asynchronous Call باعث نمایش خطایی شبیه شکل زیر می شود:
یک مثال می تواند این باشد که فرض کنید برنامه ی شما به شبکه وصل می شود، اما سرعت شبکه بسیار پایین باشد. اگر مدل فراخوانی غیرهمزمان در این سیستم خوب کار نکند مانند این است که برنامه جواب ندهد و پیغام بالا نمایش داده می شود.
سرویس های پس زمینه (Background Services)
اگر کاربر ویندوز باشید بعضی از این برنامه ها را تجربه کرده اید که نیازی به رابط کاربری ندارند و فقط کار خود را در پس زمینه انجام می دهند، مانند آنتی ویروس ها.
فکر می کنید آنها چطور کار می کنند؟
بیشتر پخش کننده های موزیک در اندروید نیز همین کار را می کنند، آنها در پس زمینه کار خود را انجام می دهند و شما همزمان می توانید ایمیل های خود را چک کنید و نیز به موسیقی گوش دهید.
Google APIs
گوگل توابع (API) خیلی زیاد و آماده ای را برای برنامه نویسان آماده کرده است. شما می توانید ساعت های زیادی برای نوشتن یک برنامه که با نقشه کار کند صرف کنید، اما می توانید از API های نقشه گوگل استفاده نمایید.