تولید و توسعه ی برنامه های کاربردی اندروید (بر پایه ی اندروید 4.4)
تولید و توسعه ی برنامه های کاربردی اندروید (بر پایه ی اندروید 4.4(
این مبحث به شما نحوه ی ایجاد برنامه های کاربردی اندروید را آموزش می دهد . همچنین کاربرد Android Studio و ADT پلاگین های Eclipse برای شما تشریح می شود .
فهرست محتوا
- اندروید چیست ؟
- سیستم عامل اندروید
- task
- کامپوننت های محیط اندروید
- Google play
.2 ابزار برنامه نویسی اندروید (ADT)
- جعبه ابزار برنامه نویسی اندروید (SDK)
- پل اشکال زدایی اندروید (ADB)
- ابزار برنامه نویسی اندروید (ADT) و Android Studio
- زمان-اجرا اندروید (ART)
- آموزش نحوه ی توسعه و تولید برنامه های کابردی اندروید
- فرایند تبدیل از متن برنامه (source code) به برنامه های کاربردی اندروید (Android Apps)
- امنیت و مجوزها
- مفهوم امنیت در اندروید
- مفهوم مجوز در اندروید
- نصب
- نصب Android Studio
- بروز رسانی Eclipse با استفاده از ADT
- نصب مجزای Eclipse ADT
.5 برنامه شبیه ساز اندروید و دستگاه های مجازی اندروید
- برنامه شبیه ساز اندروید و دستگاه های مجازی اندروید
- میان برهای دستگاه شبیه ساز اندروید
- گوگل در برابر AVDاندروید
- بهینه سازی سرعت
- Intel system image(سیستم تصویری اینتل)
- شبیه ساز جایگزین
- تمرین : شروع کار با Android Studio
- هدف
- ایجاد پروژه ی جدید اندروید
- ایجاد AVD با کمک Android Studio
- راه اندازی AVD
- راه اندازی برنامه ی کاربردی
- تمرین : شروع کار با Eclipse ADT
- هدف
- ایجاد پروژه ی اندروید
- ایجاد AVD با استفاده از Eclipse ADT
- راه اندازی AVD
- راه اندازی برنامه ی کاربردی
- بخش هایی از یک برنامه ی کاربردی اندروید
- برنامه ی کاربردی اندروید
- کامپوننت های نرم افزار اندروید
- CONTEXT
- بررسی اجمالی کامپوننت های برنامه ی کاربری اندروید
- Activity
- Broadcast Receiver
- Services
- Content Provider
- کامپوننت های پایه ای رابط کاربری در اندروید
- Activity
- Fragments
- Views and layout manager
- Device configuration specific layouts
- دیگر عنصرهای اصلی اندروید
- ابزارک های Home Screen و Lock Screen
- live wallpaper
- مانیفست اندروید
- پیکربندی برنامه ی کاربردی اندروید
- تعریف کامپوننت ها در فایل مانیفست
- مجوزها
- نمونه ای از مانیفست اندروید
- جزئیات دقیق تری از مانیفست اندروید
- نسخه و پکیج
- برنامه ی کاربردی و کامپوننت ها
- Target SDK و Minimum version
- مجوزها
- پیکربندی مورد نیاز دستگاه
- محل نصب
- اطلاعات بیشتر
- منابع
- فایل های منبع (resource files)
- مثال : تعریف رشته ها, آرایه های رشته ای (string arrays)
- تعریف کننده های منابع (resource qualifiers)
- شناسه های منابع (resource ID) و R.java
- نکاتی درباره ی شناسه های منابع
- منابع سیستم
- layout resource files
- فعالیت ها و طرح های کلی
- فایل های طرح بندی XML (XML layout files)
- تعریف ID ها
- نکاتی درباره ی ID های از پیش تعریف شده و جای گذاری آن در فایل مجزا
- نکاتی درباره ی نحوه ی افزایش کارایی در رابطه با طرح بندی
Views . 16
- View class
.17 Layout Manager and ViewGroups
- Layout manager چیست ؟
- کارامدترین layout manager ها
- Layout attributes (خصیصه های طرح بندی(
- FrameLayout
- LinearLayout
- RelativeLayout
- Gridlayout
- scrollview
18 . عملکرد آن ها تمرین : بکاربردن طرح های کلی و مشاهده ی
- Review Layout
- تنظیم Views
- بررسی و اعتبار سنجی طرح کلی
- پیاده سازی عملکرد دکمه در activity
- بررسی کارایی و عملکرد دکمه
- نمایش متن از فیلد EditText
- بررسی popup message
- 19. تنظیم طرح بندیview در زمان- اجرا
- افزودن radio group و radio button به طرح کلی
- تغییر موقعیت و جهت قرارگیری radio group به صورت پویا
- اعتبار سنجی
- تمرین : ایجاد برنامه ی تبدیل کننده ی دما
- نمونه ی نمایشی برنامه ی کاربردی
- ایجاد پروژه
- تعیین خصیصه های برنامه (attribute)
- استفاده از ویرایش گر طرح کلی (layout editor)
- افزودن views به فایل layout
- اصلاح و ویرایش قسمتproperties view
- ایجاد class utility
- اصلاح کد activity
- راه اندازی برنامه ی کاربردی
- استفاده از منابع (resources)
- دادن ارجاع به منابع در کد
- دسترسی به views از طریق طرح کلی در activity
- دادن ارجاع به منابع در فایل های XML
- دادن ارجاع به منابع سیستم اندروید در فایل های XML
- Assets
- Asset چیست ؟
- نحوه ی دسترسی به assets
.23 تمرین : بکابردن منابع در فایل های XML و کد
- افزودن تصاویر به پروژه
- افزودن views به پروژه
- تخصیص تصویر به image view
- جایگزینی تصاویر با کلیک دکمه
- بررسی
- تمرین : استفاده از scrollview
.25 جای گذاری و نصب برنامه در گوشی اندروید
- توصیف مختصر
- جای گذاری از طریق Eclipse
- عرضه برنامه ی کاربردی
- نصب برنامه از طریق منابع خارجی
- از طریق فروشگاه مجازیGoogle Play
-
1. اندروید چیست ؟
Android سیستم عاملی است که بر پایه ی هسته ی Linux پایگذاری شده . پروژه ای که مسئول توسعه و طراحی سیستم اندروید است Android Open Source Project (AOSP) (پروژه ی منبع آزاد و رایگان اندروید) نامیده می شود . پایه گذار و پیش روی آن عمدتاً شرکت گوگل است .
سیستم اندروید از قابلیت پردازش پیش زمینه ای (background processing) پشتیبانی می کند, کتابخانه ی رابط کاربری غنی ارائه می دهد, با استفاده از تکنولوژی و استاندارد OpenGL-ES (short OpenGL) از گرافیک دوبعدی و سه بعدی پشتیبانی می کند و همچنین به سیستم فایل و پایگاه داده ی جاسازی شده SQLite اجازه ی دسترسی می دهد .
یک برنامه ی کاربردی اندروید معمولاً هم از کامپوننت های بصری و هم غیر بصری بهره می گیرد و همچنین قادر است از کامپوننت های برنامه ها (بارها) استفاده کند .
Task
در اندروید منظور از task همان استفاده ی مجدد از کامپوننت های برنامه های کاربردی دیگر است . یک برنامه ی کاربردی می تواند برای اجرای task از دیگر کامپوننت های اندروید کمک بگیرد . به طور مثال, می توانید از کامپوننت برنامه ی کاربردی جاری, کامپوننت دیگری را در سیستم اندروید راه اندازی یا فعال کنید که وظیفه ی مدیریت عکس ها و تصاویر را بر عهده دارد, حتی اگر کامپوننت مزبور جزئی از برنامه ی شما نباشد . در مثال زیر, تصویر ی را انتخاب می کنیم, سپس به برنامه ی خود بازمی گردیم تا از تصویر انتخابی استفاده کنیم . این مراحل همگی در عکس زیر به تصویر کشیده شده است :
کامپوننت های محیط اندروید
سیستم اندروید یک پشته ی نرم افزاری کامل است که مشابه تصویر زیر به چهار بخش مجزا تقسیم می شود :
این بخش ها را می توان بدین ترتیب تشریح کرد :
- برنامه های کاربردی (Apps) – پروژه ی منبع آزاد و رایگان اندروید خود شامل چندین برنامه ی کاربردی پیش فرض است از جمله : مرورگر (Browser), دوربین (Camera), گالری, تلفن و قسمت پخش موسیقی و غیره … .
- چهارچوب کاری برنامه های کاربردی (App Framework) – API ای است که اجازه ی تعامل سطح بالا را از طریق برنامه های کاربردی با سیستم اندروید فراهم می کند
- کتابخانه ها و زمان-اجرا (libraries & runtime) – شامل کتابخانه هایی است که برای اجرای عملکردهای معمول (از قبیل پردازش گرافیکی, ذخیره ی داده, وبگردی و . . .) App Framework, Dalvik runtime وهمچنین کتابخانه های اصلی java که به منظور اجرای برنامه های کاربردی اندروید مورد استفاده قرار می گیرند.
- هسته ی لینوکس (Linux Kernel) – عبارتند از یک لایه ی ارتباطی (communication layer) برای سخت افزار
گفتنی است که کلیه ی بخش های Linux Kernel, libraries & runtime زیر مجموعه ی App Framework هستند . طراح و برنامه نویس اندروید عموماً از دو لایه ی فوقانی برای ایجاد برنامه های کاربردی جدید اندروید بهره می گیرد.
Google Play
شرکت گوگل فروشگاه مجازی در اینترنت به نام Google Play ایجاد کرده تا برنامه نویسان اندروید بتوانند محصولات خود را برای کاربران برنامه های کاربردی اندروید عرضه کنند . کاربران برنامه های اندروید برای این منظور از برنامه ی Google Play Service استفاده می کنند .
Google Play همچنین امکان بروز رسانی خدمات را در اختیار کاربران قرار می دهد. در صورتی که برنامه نویسی نسخه یا ویرایش جدیدی از برنامه ی خود را به Google Play آپلود کند, این قابلیت کاربران برنامه ی مربوط را از وجود ورژن جدید آگاه می سازد و همچنین به آن ها اجازه می دهد برنامه ی مذکور را دانلود کرده و از امکانات جدید آن بهره ببرند .
علاوه بر این, Google Play امکان دسترسی به خدمات و کتابخانه های ویژه ی برنامه نویسی اندروید را برای کاربران فراهم می سازد . برای مثال, خدماتی را ارائه می دهد که با استفاده از آن بتوان نقشه های گوگل را مورد استفاده قرار داد و وضعیت برنامه ی کاربردی را بین نسخه های مختلف نصبی اندروید همگام کرد . عرضه ی این خدمات از طریق Google Play این مزییت را دارد که نسخه های قدیمی اندروید نیز می توانند از خدمات نام برده استفاده کنند بدون اینکه نیاز داشته باشند سیستم عامل اندروید خود را به ویرایش جدیدتر ارتقاء بدهند .
ابزار برنامه نویسی اندروید (ADT)
جعبه ابزار برنامه نویسی اندروید (SDK)
Android Software Development Kit (Android SDK) دربردارنده ی کلیه ی ابزار لازم برای ایجاد, ترجمه (compile), بسته بندی (packaging) برنامه های کاربردی اندروید می باشد . عمده ی این ابزار بر اساس خط فرمان عمل می کنند (command line based هستند ) . اولین گزینه برای طراحی و تولید برنامه های کاربردی اندروید زبان برنامه نویسی Java می باشد .
پل اشکال زدایی اندروید (ADB)
Android SDK شامل پل اشکال زدایی اندروید (android debug bridge) نیز می باشد. adb ابزاری است که به کمک آن می توان به دستگاه حقیقی یا مجازی اندروید به منظور مدیریت و رفع اشکال برنامه کاربردی مورد نظر وصل شد .
ابزار برنامه نویسی اندروید (ADT) و Android Studio
شرکت گوگل دو محیط برنامه نویسی (IDE / integrated development environment) برای کد نویسی تحت اندروید در اختیار شما قرار می دهد .
گوگل محیط برنامه نویسی به نامه Android Studio را برای ایجاد برنامه های کاربردی اندروید ارائه می دهد که این IDE خود بر پایه ی محیط برنامه نویسی IntelliJ طراحی و پایریزی شده است .
Android Developer Tools (ADT) بر مبنای محیط برنامه نویسی Eclipse بنا شده. ADT در واقع مجموعه ای متشکل از کامپوننت ها (پلاگین ها (گوناگونی است که محیط برنامه نویسی Eclipse را با قابلیت های برنامه نویسی اندروید بسط و گسترش داده.
هر دو محیط برنامه نویسی تمامی امکانات و قابلیت های مورد نیاز و لازم برای ایجاد, ترجمه (compile), اشکال زدایی و بکاربردن اپلیکیشن های اندروید را دارا می باشد . همچنین دو IDE مذکور به برنامه نویس امکان تست دستگاهای مجازی اندروید (Android virtual devices) را می دهد .
در حال حاضر تجهیزات ADT از سیستم ساخت Eclipse بهره می برد (Gradle build system هم اکنون مورد استفاده قرار نمی گیرد) . این امر ممکن است در ساخت برنامه ی شما اختلال و ناهماهنگی ایجاد کند. به منظور تهیه ی پشتیبانی برای Gradle به
https://code.google.com/p/android/issues/detail?id=81451
مراجعه کرده و روی علامت ستاره کلیک کنید :
هر دو ابزار نام برده ویرایش گرهای تخصصی, ویژه ی فایل های معینی از اندروید عرضه می کنند . اغلب فایل های پیکربندی (configuration files) اندروید بر مبنای XML طراحی شده اند . در این مورد, ویرایش گرهای مذکور به شما اجازه می دهند بین نمایش XML از فایل و رابط کاربری ساخت یافته برای وارد کردن داده متناوب کنید .
زمان-اجرا اندروید (ART)
ویرایش 5.0 سیستم عامل اندروید از Android RunTime (ART) به عنوان زمان اجرا برای تمامی برنامه های کاربردی اندروید بهره می گیرد .
ART از قابلیت ترجمه ی پیش رو (ahead of time) بهره می گیرد. حین فرایند اجرا یا بکارگیری برنامه, کد برنامه ی کاربردی (app code) به زبان یا کد ماشین ترجمه می شود . این امر منجر به افزایش %30 حجم کد ترجمه (compile code) می شود, در عوض سرعت اجرای برنامه را (از ابتدا و شروع برنامه) بهبود می دهد .
این امکان همچنین طول عمر باتری را افزایش می دهد (به این خاطر که فرایند کامپایل تنها یک دفعه هنگام اولین بار اجرای برنامه انجام می شود) .
dex2oat فایل .dex ایجاد شده توسط ابزار اندروید (Android Tool) را اصلاح و ترجمه کرده سپس آن را به فرمت .exe و linkable (قابل لینک دهی) تبدیل می کند (ELF file) . این فایل حاوی کد dex, کد اختصاصی ترجمه شده (compiled native code) و metadata می باشد .
فرایند زباله روبی نیز (garbage collection) در ART بهینه سازی شده تا مدت زمانی را که برنامه در آن هنگ (freeze) می کند کاهش یابد .
آموزش نحوه ی توسعه و تولید برنامه های کابردی اندروید
برنامه های کاربردی اندروید اغلب با زبان برنامه نویسی java نوشته می شوند .
هنگام کد نویسی, برنامه نویس فایل پیکربندی ویژه ی اندروید را ایجاد می کند, سپس منطق برنامه (app logic) را در زبان java می نویسد .
ADT یا ابزار محیط Android Studio, فایل های برنامه ی کاربردی ((app files نام برده را به برنامه های کاربردی اندروید (Android Application) تبدیل می کند. هنگامی که برنامه نویس اجرا را در محیط Android Studio انجام می دهد, کل برنامه ی کاربردی اندروید ترجمه, بسته بندی (package) و راه اندازی می شود .
فرایند تبدیل از متن برنامه (source code) به برنامه های کاربردی اندروید (Android Apps)
فایل های منبع (source files) java توسط جاوا کامپایلر به فایل های کلاس java تبدیل می شود .
جعبه ابزار اندروید (SDK) حاوی وسیله ای است به نام dex که فایل های کلاس java را به فایل های .dex (Dalvik Executable) تبدیل می کند . کلیه ی فایل های کلاس برنامه ی کاربردی داخل فایل .dex قرار داده می شوند . طی فرایند تبدیل, اطلاعات بلااستفاده و اضافه بر سازمان داخل فایل های کلاس, در فایل dex. بهینه سازی می شوند .
برای مثال, چنانچه string (رشته ای) یکسان در چندین کلاس متفاوت یافت شود, فایل .dex تنها یک ارجاع (reference) از این string را دربر خواهد داشت .
بنابراین, فایل های .dex حجم بسیار کمتری نسبت به فایل های (همتا) کلاس خود دارند .
فایل .dex و منابع یک پروژه ی اندروید, به عنوان مثال فایل های تصویری و XML, همگی داخل فایل .apk (Android Package) فشرده و بسته بندی می شوند . گفتنی است که برنامه ی aapt (Android Asset Packaging Tool) این پروسه را انجام می دهد .
فایل حاصله .apk حامل کلیه ی داده ها و اطلاعات ضروری برای اجرای برنامه کاربردی اندروید می باشد, همچنین می توان آن را به وسیله ی adb به دستگاه اندروید ارسال کرد .
- امنیت و مجوزها
مفهوم امنیت در اندروید
سیستم اندروید کلیه ی برنامه های کاربردی اندروید را با شناسه کاربر و گروه متحصر به فردی نصب می کند . تک تک فایل های برنامه ی کاربردی مورد نظر فقط مختص این شناسه ی کاربر می باشد, به عبارت دیگر برنامه های دیگر اجازه و امکان دسترسی به فایل های این برنامه را ندارند . علاوه بر آن هر برنامه ی کاربردی اندروید تنها در فرایند مختص خود راه اندازی می شود .
بنابراین, به لطف هسته ی Linux, هر برنامه ی اندروید از دیگر برنامه های کاربردی در حال اجرای دیگر کاملا متمایز است .
اگر قرار است داده ای به اشتراک گذاشته شود, برنامه باید صرفاً این کار را توسط کامپوننتی از آندروید انجام دهد که منحصراً مسئولیت مدیریت به اشتراک گذاری اطلاعات را بر عهده دارد از جمله سرویس دهنده یا ارائه کننده ی محتوا (service/content provider) .
مفهوم مجوز در اندروید
اندروید خود شامل سیستمی است که برای task های معین مجوز (از پیش) تعریف می کند . همگی برنامه ها می توانند درخواست مجوز لازمه کنند یا مجوز جدید تعریف کنند . به طور مثال, برنامه ای ممکن است درخواست اتصال به اینترنت کند .
حال مجوزهای مزبور سطح های مختلفی دارند . برخی از مجوزها خودکار توسط سیستم اندروید داده می شوند و برخی دیگر اتوماتیک وار رد می شوند . در بیشتر موارد, مجوزهای مورد نیاز و درخواست شده پیش از نصب برنامه برای کاربر نمایش داده می شوند . کاربر تصمیم می گیرد که مجوز لازم به برنامه ی مورد نظر داده شود یا نه .
چنانچه کاربر مجوز درخواستی را رد کند, برنامه دیگر نصب نمی شود . بررسی مجوز تنها طی فرایند نصب انجام می شود, به صورتی که رد یا پذیرش مجوز به هیچ وجه پس از نصب امکان پذیر نمی باشد .
برنامه ی کاربردی اندروید مجوزهای موردنیاز خود را در فایل پیکربندی AndroidManifest.xml اعلان می کند . البته برنامه می تواند مجوزهای اضافه بر سازمان نیز تعریف کند که دسترسی به برخی کامپوننت ها را محدود می کند .
توجه : برخی از کاربران حین نصب برنامه به مجوزها توجه لازم را نمی کنند . ولی تعدادی این مجوزها را می خوانند و نظرات منفی درباره ی مجوزها در فروشگاه مجازی Google Play می نویسند .
- نصب
Android Studio بر پایه ی محیط برنامه نویسی IntelliJ
شرکت گوگل نسخه ی اصلاح شده ای از IntelliJ ارائه می دهد که به Android Studio شهرت پیدا کرده است . به این خاطر که گوگل در حال حاضر تمام تلاش خود را متمرکز بر بهبود و افزایش کارایی این محیط برنامه نویسی کرده, توصیه می شود از این IDE جهت ایجاد و تولید برنامه های کاربردی اندروید استفاده کنید .
دانلود Android Studio
Android Studio را باید از وب سایت رسمی
http://developer.android.com/sdk/installing/studio.html
دانلود کنید.
نصب
فرایند نصب برنامه در محیط ویندوز بسیار ساده می باشد, کافی است .exe ای را که دانلود کرده اید اجرا کنید . در Max OSX لازم است Android Studio را کشیده و در فولدر Applications قرار دهید .
در لینوکس ابتدا باید فایل ZIP را از حالت فشرده خارج کرده, سپس آن در محل مناسب برای برنامه های کاربردی خود قرار دهید . جهت راه اندازی Android Studio, به دایرکتوری android-studio/bin/ مراجعه کرده و studio.sh را اجرا کنید .
پیکربندی
اولین باری که Android Studio اجرا می کنید از شما پرسیده می شود که آیا مایلید تنظیمات (setting) را از برنامه ی نصب شده ی موجود وارد کنید .
سپس تمامی مراحل نصب را طبق دستورالعمل دنبال کنید .
هنگامی که به صفحه ی پایانی فرایند نصب رسیدید روی دکمه ی finish کلیک کنید .
بروزرسانی محیط برنامه نویسی Eclipse برای طراحی و توسعه ی برنامه نویسی اندروید
نصب پلاگین های ADT و SDK های اندروید
بروزرسانی نسخه ی نصب شده ی محیط برنامه نویسی Eclipse با استفاده از پلاگین های ADT بهتر از دانلود و نصب ADT هایی است که از گوگل دانلود می کنید زیرا گوگل نسخه ی بسیار قدیمی از محیط برنامه نویسی نام برده ارائه می دهد .
دستورالعمل زیر با این پیش فرض جلو می رود که شما نسخه ای از Eclipse را از پیش روی رایانه ی شخصی خود دارید و حال می خواهید آن را بروز رسانی کنید . برای این منظور از طریق Help → Install new software به update manager مراجعه کرده, سپس android راه اندازی کرده تا کلیه ی کامپوننت های موجود ADT را از URL زیر دانلود کنید :
https://dl-ssl.google.com/android/eclipse/
پس از اینکه کلیه ی کامپوننت های اندروید دانلود شدند, برنامه شما را به نصب SDK های اندروید فراخوانی می کند . شما می تونید از ویزارد زیر برای این نظور بهره بگیرید .
نصب SDK های اندروید به صورت دستی
پس از اتمام پروسه ی نصب ADT, تجهیزات Eclipse به شما اجازه می دهد SDK اندروید را به صورت اتوماتیک دانلود کنید . متناوباً, می توانید SDK اندروید را از صفحه ی Android SDK download page به صورت دستی دانلود کنید .
http://developer.android.com/sdk/index.html
دانلود فوق فایل ZIP دارد که شما می توانید در هر فولدری از رایانه ی خود آن را استخراج کنید . از به کاربردن فاصله (space) در اسم مسیر (path name) اکیداً خودداری کنید زیرا حین استفاده از SDK های اندروید با مشکل مواجه می شوید .
همچنین شما ملزوم به تعیین مکان SDK های اندروید در بخش Preferences (تنظیمات) Eclipse هستید . برای این منظور پنجره ی Preferences را در Eclipse از طریق Window → Preferences باز کنید, سپس گزینه ی Android را انتخاب کرده و مسیر نصب SDK های اندروید را وارد کنید .
نصب ابزار توسعه و طراحی اندروید
دانلود پکیج ابزار طراحی اندروید
گوگل پکیج پکیربندی شده ی محیط برنامه نویسی اندروید بر پایه ی Eclipse IDE ارائه می دهد که Android Developer Tools خوانده می شود . اما گزینه ی مذکور معمولاً از نسخه ی قدیمی Eclipse بهره می گیرد, بهمبن دلیل به شما توصیه می شود که این IDE را به آخرین نسخه ی آن بروز رسانی کنید .
نصب مجزای ADT
فایل فشرده (ZIP) را استخراج کرده و بعد Android Developer Tools (Eclipse) را که در فولدر eclipse قرار دارد, اجرا کنید . برای انجام این کار لازم است روی اجرا کننده ی اصلی eclipse دوبار کلیک کنید (برای مثال, eclipse.exe )
برنامه شبیه ساز اندروید و دستگاه های مجازی اندروید
جعبه ابزار اندروید (SDK) حاوی برنامه ی شبیه ساز (Android Device Emulator) دستگاه اندروید نیز می باشد . از برنامه ی شبیه ساز مذکور جهت اجرا و راه اندازی دستگاه مجازی اندروید ((AVD استفاده می شود; به عبارت دیگر, کاربر می تواند به کمک برنامه ی Emulator محیط گوشی اندروید را کاملاً شبیه سازی کند. نمونه ی این برنامه را در تصویر زیر مشاهده می کنید :
AVD ها این امکان را به شما می دهند که برنامه های اندروید خود را بدون دسترسی به سخت افزار اندروید روی نسخه های مختلف این سیستم عامل آزمایش کنید. حتی در صورتی که خود دستگاه اندروید را در اختیار دارید به شما توصیه می شود نحوه ی کار با این نرم افزار را فرا بگیرید . دستگاه های مجازی به شما اجازه می دهند برنامه های کاربردی خود را در ویرایش های انتخابی این سیستم عامل با پیکر بندی (configuration) معین تست کنید .
طی پروسه ی ایجاد AVD, کاربر پیکربندی دستگاه مجازی (virtual device) را تعیین می کند از جمله : وضوح تصویر (resolution), نسخه ی API اندروید و چگالی صفحه نمایش .
همچنین می توان چندین AVD با پیکربندی های متفاوت تعریف کرد و آن ها را به موازات هم و به طور همزمان راه اندازی کرد . این امکان به شما اجازه می دهد پیکربندی های متفاوت دستگاه (device configuration) را یکجا امتحان کنید .
توجه : چنانچه AVD ای را حین فرایند راه اندازی متوقف کنید, احتمال خراب شدن آن وجود دارد . اولین باری که برنامه راه اندازی می شود فرایند بالا آمدن ممکن است در دستگاه های قدیمی 10 دقیقه طول بکشد . این درحالی است که, در دستگاه های مدرن بالا آمدن AVD بیشتر از 2-3 دقیقه زمان نمی برد .
پس از اینکه AVD اجرا شد, رابط کاربری گرافیکی (GUI) را می توان با استفاده از موس تنظیم کرد . برنامه ی شبیه ساز همچنین امکان دسترسی به دکمه های گوشی را از طریق منوی سمت راست محیط برنامه برای کاربر امکان پذیر می کند .
به محض اینکه برنامه شبیه ساز راه اندازی شد, به هیچ وجه آن را حین بالا آمدن متوقف نکنید . اگر برنامه ی کاربردی خود را تغییر داده یا اصلاح کرده اید و مایلید نسخه ی جدید آن را تست کنید, تنها کافی است اپلیکیشن را دوباره در AVD خود اجرا کنید .
میان برهای دستگاه شبیه ساز اندروید
جدول زیر تمامی میان برهای کارامد لازمه ی کار با AVD را فهرست می کند :
میان بر توصیف کاربرد Alt+Enter برنامه ی شبیه ساز را بزرگنمایی می کند . Ctrl+F11 حالت یا جهت قرارگیری صفحه را از landscape (نمای افقی) به portrait (یا نمای عمودی) تغییر می دهد F8 شبکه (network) را روشن یا خاموش می کند . گوگل در برابر AVD
هنگام ایجاد AVD, به شما این امکان داده می شود که بین ایجاد Android Device یا Google Device یکی را انتخاب کنید .
AVD ای که برای اندروید ایجاد می شود دربردارنده ی برنامه های پروژه ی منبع آزاد اندروید (Android open source project) می باشد. حال, AVD ای که برای API گوگل اختصاصی ایجاد می شود, شامل کدهای مختص گوگل می باشد .
AVD هایی که ویژه ی API گوگل طراحی و ایجاد می شود به کاربر این امکان را می دهد که برنامه های کاربردیی که از Google Play Services استفاده می کنند را تست کند (به طور مثال, Google maps API).
بهینه سازی سرعت
هنگام ایجاد شبیه ساز, به شما این امکان داده می شود که بین دو گزینه ی Snapshot یا Use Host GPU یکی را فعال کنید .
توجه : در پنجره ی محاوره ای که نمایان می گردد, این طور برداشت می شود که می توان هر دو گزینه را فعال کرد . اما باید در نظر داشته باشید که در صورت انتخاب هر دو گزینه با پیغام خطا مواجه می شوید .
در صورت انتخاب گزینه ی Snapshot, هنگامی که device را برای دومین بار راه اندازی می کنید بسیار سریع بالا می آید (به خاطر اینکه در صورت بستن device, AVD وضعیت (state) آن را بلافاصله ذخیره می کند) . اما چنانچه گزینه ی Use Host GPU را انتخاب کنید, AVD مستقیماً از کارت گرافیک کامپیوتر میزبان (host computer) برای پردازش گرافیکی در برنامه ی شبیه ساز بهره می گیرد که جمعاً سرعت فرایند را به طور قابل توجهی افزایش می دهد .
Intel system image (سیستم تصویری اینتل)
این امکان وجود دارد که AVD را با تصویری بر پایه ی معماری ARM CPUیا Intel CPI اجرا کنید .
AVD ای که از سیستم تصویری اینتل بهره می گیرد در پردازش, بر روی سخت افزار Intel / AMD بسیار سریعتر از سیستم تصویری بر پایه ی ARM عمل می کند. این به خاطر عدم نیاز شبیه ساز به ترجمه ی دستورات ARM CPU برای پردازش گرهای Intel / AMD رایانه ی شما است .
سیستم تصویری (Image) نام برده را می توان از طریق Android SDK Manager نصب کرد :
پس از دانلود, می توان درایور مربوطه را در محل نصب اندروید واقع در فولدر extras/intel یافت . لازم است جهت نصب درایورها, فایل .exe را اجرا کنید .
توجه : این مرحله ی از فرایند نصب جهت افزایش کارایی و سرعت شبیه ساز intel ضروری می باشد . تنها صرف دانلود درایور مورد نظر (به وسیله ی اندروید) تغییری ایجاد نکرده و کافی نمی باشد .
پس از اتمام پروسه ی دانلود, می توانید AVD جدیدی بر پایه ی شبیه ساز اینتل اجاد کنید . شبیه ساز سریع تر بالا نمی اید ولی سرعت اجرای برنامه ی کاربردی اندروید شما را به طور چشمگیری افزایش می دهد .
نکته 1 : پس از نصب ممکن است لازم باشد محیط برنامه نویسی خود را مجدداً اجرا (restart) کنید تا امکان ایجاد AVD با شبیه ساز اینتل فراهم شود .
نکته 2 : لازم به ذکر است که فرایند نصب در محیط لینوکس پیچیده تر است .
شبیه ساز جایگزین
البته گزینه های دیگری نیز جهت شبیه سازی محیط اندروید وجود دارد که از جمله می توان به
http://www.genymotion.com/
اشاره کرد (این برنامه هم در راه اندازی و هم در اجرای پروژه های اندروید نسبتاً سریع عمل می کند) .
این کلمات که معمولا در mail box ها کاربرد دارد به معنای زیر است .
spam : یا هرزنامه به میلهای تبلیغاتی بیشتر گفته می شود . میلهایی که معمولا بدون خواسته شما برای شما ارسال می گردد . یاهو با تشخیص احتمال ویروسی بودن میل آن را در spam می گذارد .
Draft : اگر هنگام ارسال یك نامه فكر می كنید متن نامه بعدا مورد استفاده اتان قرار می گیرد می توانید دكمه Save in Drafts را دربالا وپایین كادر فشاردهید تا مطرح وپیش نویسی از این درقسمت ( پوشه ) Folder/Draft ذخیره گردد.
Trash: هنگامی كه درصفحه Inbox برخی از نامه ها را Delet ( حذف ) می كنید , Yahoo به فكر پشیمانی شماست وآنها به طور كامل پاك نمی شوند وشما می توانید از سطل آشغالی به نام Trash آنها را بازیابی كنید . نامه های پاك شده درTrash هم درجدولی به همراه اطلاعات دیگر نمایش داده می شوند .
