آشنایی با نحوه ساخت اپلیکیشن های اندروید با استفاده از اندروید استودیو - بخش اول

آشنایی با نحوه ساخت اپلیکیشن های اندروید با استفاده از اندروید استودیو - بخش اول

در این دوره آموزشی قصد داریم شما را با اندروید استودیو و امکاناتی که این ابزار قدرتمند در اختیار توسعه دهندگان قرار می دهد، آشنا کنیم. جهت دریافت پکیج آموزشی کامل کار با اندروید استودیو می توانید به لینک زیر مراجعه کرده و در سریع ترین زمان ممکن کار با این IDE را فرا بگیرید و کار ساخت و توسعه نرم افزارهای اندرویدی خود را آغاز نمایید:

آموزش اندروید استودیو


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

- سیستم عامل اندروید

اندروید سیستم عاملی مبنی بر کرنل لینوکس می باشد، پروژه اپن سورس اندروید یا همان AOSP مسئولیت ساخت و توسعه سیستم اندروید را بر عهده دارد و توسط گوگل رهبری و مدیریت می شود.

سیستم عامل اندروید از پردازش پس زمینه نیز پشتیبانی به عمل می آورد و کتابخانه ای غنی از رابط کاربری را در اختیار می گذارد، از گرافیک های دو و سه بعدی با استفاده از استاندارد OpenGL-ES پشتیبانی می کند و به سیستم فایل ها و پایگاه داده SQLite جاسازی شده مجوز دسترسی اعطا می کند.

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

- تسک یا وظیفه

در اندروید استفاده مجدد از کامپوننت های سایر اپلیکیشن ها مفهومی تحت عنوان تسک است. یک اپلیکیشن قادر به دسترسی به سایر کامپوننت های اندروید برای انجام یک تسک می باشد. برای نمونه شما قادر به ساخت یک کامپوننت از سایر کامپوننت ها در سیستم اندروید می باشید که قادر به مدیریت عکس ها می باشد، این کار حتی در شرایطی که آن کامپوننت جزئی از اپلیکیشن شما نباشد نیز کار می کند. در این کامپوننت شما قادر به گزینش عکس و استفاده از آن درون اپلیکیشن خود می باشید.

در تصویر زیر قادر به مشاهده چنین جریانی هستید.

blog_14615_1

- کامپوننت های پلتفرم اندروید

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

blog_14615_2

سطوح را می توان به شکل زیر شرح داد:

اپیکیشن ها – پروژه اپن سورس اندروید شامل چندین اپلیکیشن پیش فرض می باشد، برای نمونه می توان به مرورگرها، دوربین، گالری، آهنگ ها، گوشی، تماس ها و غیره اشاره کرد.

فریم ورک اپلیکیشن – یک API که شما را قادر به انجام تعاملات سطح بالا از درون اپلیکیشن با سیستم اندروید می کند.

کتابخانه ها و ران تایم – کتابخانه ای از توابع رایج مانند رندر گرافیکی، ذخیره سازی داده ها، وب بروزینگ و غیره از فریم ورک اپلیکیشن و ران تایم Dalvik و نیز کتابخانه های جاوا برای اجرای اپلیکیشن های اندروید.

کرنل لینوکس – لایه ارتباطی برای سخت افزار زیرین.

کرنل لینوکس، کتابخانه ها و ران تایم، همگی توسط فریم ورک اپلیکیشن گرد هم آمده اند. توسعه دهنده اپلیکیشن اندروید به طور معمول با دو لایه بالایی برای ساخت اپلیکیشن های اندروید سر و کار دارد.

گوگل پلی

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

گوگل پلی ارائه دهنده سرویسی برای به روز رسانی اپلیکیشن ها نیز می باشد. چنانچه برنامه نویسی نسخه جدید از اپلیکیشن خود را آپلود کند، سرویس کاربران آن اپلیکیشن را از وجود آپدیت جدید با خبر می سازد و آنها را قادر به نصب نسخه جدید از اپلیکیشن می کند.

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

ابزارهای توسعه اندروید

- اندروید SDK

اندروید SDK یا همان Android Software Development Kit دربرگیرنده ابزارهای ساخت، کامپایل و پکیج بندی اپلیکیشن های اندروید می باشد. بسیاری از این ابزارها با استفاده از کامند لاین کار می کنند. راه مقدماتی برای ساخت و توسعه اپلیکیشن های اندروید استفاده از زبان برنامه نویسی جاوا می باشد.

- دیباگ بریج اندروید یا همان ADB

اندروید SDK شامل ADB می شود، ADB ابزاری است که شما را قادر به اتصال به یک گوشی اندروید واقعی یا مجازی جهت کنترل گوشی و دیباگ کردن اپلیکیشن می گرداند.

 - گرادل و پلاگین هایی برای آن

اندروید برای سیستم ساخت از گرادل استفاده می کند. تیم اندروید یک پلاگین را برای ساخت اپلیکیشن های اندروید در فایل build.gradle در بخش روت پروژه اندروید قرار داده است، چیزی مشابه تصویر زیر که بسته به نسخه مورد استفاده ممکن است متفاوت باشد.

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

repositories {

jcenter()

}

dependencies {

classpath 'com.android.tools.build:gradle:1.4.0'

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

}

allprojects {

repositories {

jcenter()

}

}

با استفاده از این لینک می توانید نسخه های در دسترس از این پلاگین را بیابید:

Available Android Gradle plug-in versions

- ابزارهای اندروید برای توسعه دهندگان و اندروید استودیو

گوگل یک IDE به نام اندروید استودیو را در اختیار توسعه دهندگان قرار می دهد که محیطی برای توسعه و ساخت اپلیکیشن های اندرویدی محسوب می شود، این IDE بر پایه IntelliJ است. ابزارهای اندروید ویرایش گرهای خاصی را برای فایل های مخصوص اندرویدی در نظر گرفته اند. بسیاری از فایل های پیکربندی اندروید بر پایه XML می باشند. در این شرایط این ویرایشگرها به شما امکان جابجایی بین نمایش XML فایل و رابط کاربری ساختاربندی شده برای ورود داده ها را می دهند.

- ران تایم اندروید یا ART

نسخه 5.0 از اندروید، ART را برای ران تایم تمامی اپلیکیشن های اندروید استفاده می کند. در طول فرآیند توسعه اپلیکیشن بر روی یک گوشی اندروید، کد اپلیکیشن به کد ماشین ترجمه می شود که حدود 30% کد کامپایل بزرگ تری را نتیجه می دهد، اما زمان راه اندازی اولیه اپلیکیشن را سریع تر می گرداند.

این قابلیت موجب ذخیره سازی طول عمر باتری نیز می شود، چرا که عملیات کامپایل تنها یک بار در زمان شروع اپلیکیشن صورت می پذیرد.

ابزار dex2oat با گرفتن فایل dex که با استفاده از ابزار اندروید ساخته شده، آن را کامپایل کرده و به کد قابل اجرا و قابل لینک شدن تبدیل می کند. این فایل شامل کد dex، کد نیتیو کامپایل شده و متا-دیتا است. نگه داشتن کد dex باعث می شود که ابزارهای جاری به کار خود ادامه دهند. مجموعه در ART به منظور کاهش زمانی که اپلیکیشن فریز می شود، بهینه سازی شده است.

- نحوه ساخت و توسعه اپلیکیشن های اندروید

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

تولینگ اندروید این فایل های اپلیکیشن را به اپلیکیشن اندروید که قابل فهم برای کاربر است تبدیل می کند. با تریگر کردن در IDE، تمامی اپلیکیشن اندروید کامپایل و پکیج بندی شده و شروع می شود.

- فرآیند تبدیل از کد منبع به اپلیکیشن اندروید

فایل های منبع جاوا به فایل های کلاس جاوا تبدیل می شوند و کامپایلر جاوا این کار را به عهده می گیرد. SDK اندروید شامل ابزاری به نام dx است که فایل های کلاس جاوا را به یک فایل dex تبدیل می کند. تمامی فایل های کلاس های اپلیکیشن در این فایل .dex جای گرفته اند. در طول این فرآیند تبدیل اطلاعات اضافی و تکراری در فایل کلاس ها بهینه شده و سپس در فایل .dex جای می گیرند.

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

این فایل های .dex از لحاظ اندازه کوچک تر از فایل های کلاس مربوطه می باشند. فایل .dex و منبع های پروژه اندروید و تصاویر فایل های XML همه در یک پکیج به نام فایل APK گرد هم می آیند. aapt یا Android Asset Packaging Tool وظیفه این پکیج بندی را بر عهده گرفته است.

فایل APK حاصل شامل تمامی اطلاعات و داده های مورد نیاز برای اجرای اپلیکیشن اندروید است و می توان آن را توسط ابزارهای adb در گوشی اندروید به اجرا در آورد.

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

- نیازمندی های سیستمی

برای ساخت و توسعه اپلیکیشن های اندروید یک کامپیوتر با عملکرد و قدرت پردازشی مطلوب را باید مورد استفاده قرار دهید. یک کامپیوتر با CPU با قدرت 2.6 GHz و حداقل 8 گیگابایت حافظه پیشنهاد می شود. SSD به طور چشم گیری راه اندازی شبیه ساز اندروید را تحت تاثیر قرار می دهد.

- نیازمندی ها جهت استفاده از لینوکس

SDK اندروید 32 بیتی است، بنابراین در یک سیستم لینوکس 64 بیتی، نیاز دارید یک پکیج ia32-libs را نصب کنید. برای اوبونتو می توانید از دستور زیر برای اجرای این کار بهره بگیرید.

apt-get install ia32-libs

در غیر این صورت دستور مورد نظر برای نوع دیستریبیوشن لینوکس خود را بیابید.

در اوبونتو 13.04 شما ملزم به نصب پشتیبانی OpenGL نیز می باشید، این کار توسط دستور زیر انجام می پذیرد.

# install OpenGL support

sudo apt-get install libgl1-mesa-dev

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

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

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

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

blog_14615_3

- نصب اندروید استودیو

نصب اندروید استودیو برای ویندوز به سادگی صورت می پذیرد، تنها کار لازم اجرای فایل نصبی exe  دانلود شده است. در Max OSX باید اندروید استودیو را با کمک درگ اند دراپ به پوشه Applications منتقل کنید.

در لینوکس لازم است فایل زیپ را از حالت زیپ خارج کرده و به مکان مناسب در اپلیکیشن های خود منتقل کنید. برای اجرای اندروید استودیو به android-studio/bin/ directory رفته و studio.sh را به اجرا در آورید.

پیکربندی

نخستین باری که اندروید استودیو را به اجرا می کنید، می توانید گزینه ای را که برای وارد کردن تنظیمات از نصب کنونی است، انتخاب کنید.

blog_14615_4

بعد از این کار مطابق با راهنمای راه اندازی کلیک کنید.

blog_14615_5

blog_14615_6

blog_14615_7

پس از اینکه به آخرین صفحه رسیدید دکمه Finish را بزنید.

blog_14615_8

در بخش های بعدی ادامه کار با IDE اندروید استودیو به شما ارائه خواهد شد، منتظر مطالب جدید ما باشید.

اینها را هم بخوانید