ساخت اولین پروژه در اندروید استودیو

خلاصه آموزش:

  • آشنایی با محیط اندروید استودیو

  • شناخت فایل ها و پوشه های پروژه اندروید استودیو

  • ساخت پروژه hello world در اندروید استودیو

  • ساخت فایل apk در اندروید استودیو

در این پست با آموزش ساخت اولین پروژه(Hello World) در اندروید استودیو و سپس خروجی گرفتن از آن(امضای فایل apk) با شما هستیم.

پس از نصب و راه اندازی اندروید استودیو (Android Studio) و کلیک روی Icon آن با پنجره ی زیر مواجه می شوید:

Android Studio

اگر دقت کرده باشید، موقع لودینگ نرم افزار، عبارت Powered by IntelliJ Platform نمایش داده میشود. علت این هست که گوگل از IDE شرکت JetBrains به نام IntelliJ استفاده کرده که یکی از بهترین محیط های برنامه نویسی رایگان جاوا بوده و در نتیجه توسعه دهنده اندروید نیز تجربه خوبی را در تعامل با این محیط خواهد داشت. در واقع شما می توانید با دانلود محیط برنامه نویسی IntelliJ IDEA از وب سایت JetBrains و انجام چند مرحله و ست کردن آن با SDK ، برای اندروید برنامه بنویسید اما گوگل کار را برای من و شما راحتتر کرده و این یکپارچگی و ارائه آپدیت های منظم از طرف گوگل ، امکانات جدید را در اختیار توسعه دهنده قرار داده و باگ هایی که توسط سایر توسعه دهندگان گزارش می شود و یا خود تیم توسعه دهنده گوگل کشف می کند را در کوتاهترین زمان رفع می کند.
در این صفحه چند گزینه پیش روی شما قرار دارد.
۱ – Start a new Android Studio Project : که مشخص هست برای ساخت پروژه اندروید جدید استفاده می شود.
۲ – Open an existing Android Studio Project : برای باز کردن پروژه هایی هست که قبلا در محیط اندروید استودیو ساخته شده.
۳ – Import Project : برای ایمپورت کردن پروژه هایی هست که قبلا در محیط هایی مانند Eclipse توسعه داده شده.
۴ – Import an Android code sample : برای ایمپورت کردن کدهای نمونه اندروید استفاده می شود.
۵ – Configure : با استفاده از این گزینه و قبل از باز کردن یک پروژه جدید می توان به تنظیمات محیط برنامه نویسی دسترسی داشت. به عنوان مثال، بعد از انتخاب این گزینه و سپس انتخاب گزینه Settings ، می توانیم به تنظیمات اصلی دسترسی داشته باشیم.

ما برای شروع روی Start a new Android Studio project کلیک می کنیم تا یک پروژه ی جدید ایجاد نماییم. پنجره ای مطابق شکل زیر باز می شود:

در این پنجره در قسمت Application name باید نام پروژه ی خود را بنویسیم. ما عبارت Hello World را می نویسیم.در قسمت Company Domain باید نام دامنه ی خود را بنویسید. اگر وب سایت ندارید نام و فامیل خود را با بدون فاصله و با یک نقطه در وسط بنویسید.قسمت بعدی Package name نام دارد و بطور خودکار از روی نام دامنه و نام پروژه ایجاد می شود و معمولا شامل سه بخش می باشد که باید در دنیا منحصر بفرد باشد. چون معرف برنامه ی شماست و به همین دلیل بهتر است که بخشی از آن، نام دامنه باشد (بدلیل منحصر به فرد بود در دنیا). در بخش Project Location نیز محل ذخیره ی پروژه مشخص شده است. بعنوان یک قانون بهتر است همیشه نام پوشه ها در کامپیوتر بدون فاصله و با کاراکترهای انگلیسی باشد. پس از تکمیل بخش ها روی Next کلیک میکنیم، پنجره ی زیر باز می شود:

در این پنجره گزینه ی Phone and Tablet را تیک می زنیم و از بخش Minimum SDK پایین ترین نسخه ی اندروید را که قرار است از برنامه ی ما پشتیبانی کند انتخاب می نماییم.من نسخه ی ۴٫۰٫۳ را انتخاب کردم.(شما با توجه به کاربرد برنامه تان انتخاب کنید)مثلا متریال دیزاین در اندروید ۵ Lolipop معرفی گردید و شما اگر نسخه Minimum SDK برنامه تان را کمتر از ۵ انتخاب کنید قادر به استفاده از متریال دیزاین در برنامه تان نیستید.(اما ممکن است در آینده کتابخانه برای استفاده از متریال دیزاین در نسخه های کمتر از ۵ معرفی شود)

نکته
توجه داشته باشید API ای که به عنوان مینیمم انتخاب می کنید باید SDK آن را قبلا در محیط SDK Manager نصب کرده باشید.

پس از تکمیل، کلید Next را کلیک نمایید. پنجره ی زیر را مشاهده خواهید کرد:

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

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

در این پنجره می توانید نام دو فایل Activity Name و Layout Name را تغییر دهید. فعلا این نام ها را ویرایش نکنید. (توجه داشته باشید که یک پروژه ی اندروید در ساده ترین حالت شامل یک پنجره یا صفحه است که پس از لمس آیکن اپلیکیشن در گوشی نمایش داده می شود. این صفحه از دوفایل مجزا تشکیل شده است. یکی فایل کد اجرایی که به آن اکتیویتی گفته می شود و دیگری فایل نمای گرافیکی یا ظاهر که به آن لایه یا لِیاوت می گویند – مبحث UI). روی Finish کلیک کنید تا پروژه ی شما ایجاد شود. ایجاد شدن پروژه بسته به سیستم شما ممکن است دقایقی به طول بیانجامد.پس از دقایقی پنجره ی اصلی محیط اندروید استدیو (Android Studio) را مشاهده خواهید کرد که مطابق شکل زیر است:

ابتدا ساختار پروژه را بررسی می کنیم. در سمت چپ محیط برنامه نویسی، فولدر app را با زیرشاخه های manifests ، java و res مشاهده می کنید. برای باز کردن فایلها روی آن دابل کلیک کنید.

AndroidManifest.xml:

Manifest : اطلاعات ضروری و پایه هر اپلیکیشن در داخل این فایل ذخیره می شود.به عنوان مثال اطلاعاتی که در ابتدای کار قابل مشاهده هست، نام پکیجی که موقع ساخت پروژه تعریف کردیم (خط ۳) ، آیکون اپلیکیشین (خط ۷) ، نام اپلیکیشن (خط ۸) ، اکتیویتی تعریف شده در ابتدای کار و … .
Java : اکتیویتی ها و کلاس های مربوطه جاوا در این پوشه قرار می گیرند.

res : این دایرکتوری شامل منابع مختلفی می باشد :
Drawable : شامل تصاویر مورد استفاده در اپلیکیشن (مانند آیکون و …) ، برخی فایل های xml مانند بیت مپ ها و … که از طریق کلاس R.drawable قابل دسترسی هستند.
Layout : که شامل لایه های طراحی واسط کاربری هست (مانند content_main.xml) که از طریق کلاس R.layout قابل دسترسی می باشند.
Menu : فایل های xml مربوط به منوهای تعبیه شده در اپلیکیشن را شامل می شود که با کلاس R.menu دسترسی پذیر است.
Values : فایل های xml با محتوای آرایه ها (strings.xml) ، استایل ها (styles.xml) ، رنگ ها (colors.xml) ، ابعاد (dimens.xml) و … در این دایرکتوری قرار می گیرند.

روی فایل Activity_main.xml کلیک کنید. محتوای این فایل xml ظاهر گرافیکی برنامه را تشکیل می دهد:

android studio xml layout

حال از سمت راست بر روی زبانه ی Preview کلیک کنید تا پیش نمایش ظاهر برنامه بصورت گرافیکی نشان داده شود:

از سربرگ پایین روی Design کلیک نمایید تا تصویر زیر ظاهر شود:

تفاوت حالت xml و preview با حالت Design در اینست که در حالت Text بایستی کد XML را ویرایش کنید و نتیجه را بصورت همزمان ببینید ولی در حالت Design می توانید از منوی سمت چپ آیتم ها و ابزارها را کشیده و بر روی صفحه قرار دهید و فایل XML بصورت خودکار ایجاد می شود. در حین انجام پروژه و طراحی از هر دو این حالت ها استفاده خواهیم کرد. در پنجره ی Design با انتخاب هر شی داخل صفحه می توانید از پنجره ی Properties سمت راست، خصوصیات آن شی را تغییر دهید. این کار در فایل XML با قرار دادن عباراتی نظیر android:text=“Hello World!”   صورت می پذیرد.

پنجره ی سمت چپ به نام Project فایل های پروژه ی شما را نمایش می دهد. اکیداً پیشنهاد می شود مطابق شکل زیر روی Android کلیک کرده و Project را انتخاب کنید تا تمام فایل ها و فولدرهای پروژه ی شما نمایش داده شود:

در این حالت دو شاخه ی اصلی نمایش داده می شود. شاخه ی اول حاوی فایل های پروژه ی شماست (Hello World) و شاخه ی دوم حاوی کتابخانه های خارجی (External Libraries)

در شاخه ی فایل های پروژه پوشه ای به نام app قرار دارد. فایل های پروژه ی شما در این پوشه قرار می گیرد. داخل app پوشه های libs و src از بقیه مهم ترند. libs محلی برای قرار دادن کتابخانه های jar مختلف مثل کتابخانه ی تبلیغات بازار و غیره است. src نیز خود شامل پوشه هایی می باشد. در داخل src دو پوشه ی java و res قرار دارد. java حاوی فایلهای کد، اکتیویتی ها و کلاسهای جاواست (تمام فایلهایی که پسوند java دارند) و پوشه ی res هم منابع برنامه (مثل عکس ها، فایل های صوتی، دیتا بیس ها، فایلهای xml رابط کاربری یا همان UI). داخل res پوشه هایی قرار دارد؛ drawable معمولا برای عکسها و فایلهای xml انیمیشن مورد استفاده قرار میگیرد. layout برای فایلهای xml رابط کاربری، values شامل فایلهایی برای قرار دادن رشته های داخل برنامه به زبان های مختلف و mipmap ها برای قرار دادن عکسهایی که قرار است در گوشی هایی با رزولیشن مختلف نمایش داده شود. در حالت عادی هر گوشی بسته به رزولیشن نمایشگر خود عکس ها را در اندازه های مختلفی نمایش می دهد. مثلا یک گوشی قدیمی سامسونگ مثل Galaxy Pocket با تراکم پیکسلی ۱۴۳ احتمالا در رده ی ldpi قرار می گیرد و Nexus 7 در محدوده xhdpi. مسلما اگر شما یک عکس ۱۰۰×۱۰۰ پیکسل را در پوشه ی drawable قرار دهید در گوشی pocket مثلا به اندازه یک حبه قند نشان داده می شود و در گوشی nexus به اندازه ی یک عدس.

ldpi – 36 x 36 –> 120dpi
mdpi – 48 x 48 –> 160dpi
hdpi – 72 x 72 –> 240dpi
xhdpi – 96 x 96 –> 320dpi
xxhdpi – 144 x 144 –> 480dpi
xxxhdpi – 192 x 192 –> 640dpi

برای حل این مشکل استانداردهایی قرار داده شده و پوشه هایی با نام mipmap در زیرشاخه res قرار گرفته است. برای حل مشکل روزلیشن بایستی عکس های مهم مثل آیکن برنامه را در اندازه های لیست شده در جدول بالا ایجاد کنید و هر عکس را در پوشه مربوطه کپی نمایید. بدین ترتیب اگر کاربر برنامه شما را روی pocket یا Galaxy Gio نصب کند آیکن برنامه از پوشه های ldpi یا mdpi انتخاب می شود (۳۶ پیکسل یا ۴۸ پیکسل) و اگر روی Nexus 7 نصب کند آیکن باکیفیت ۹۶ پیکسلی از پوشه mipmap-xhdpi انتخاب می شود. این کار بصورت هوشمند و توسط سیستم عامل گوشی صورت می پذیرد. معمولا برنامه نویس های مبتدی در اکثر برنامه ها فقط یک فایل آیکن ایجاد می کنند و مثلا فقط در پوشه ی mdpi یک آیکن ۴۸×۴۸ پیکسل قرار می دهند. در این صورت اگر برنامه در گوشی ldpi نصب شود اندروید ابتدا پوشه ی ldpi را برای آیکن و سایر عکسها بررسی می کند، اگر فایلی را پیدا کند که آن را نشان می دهد ولی اگر پیدا نکند به سراغ پوشه ی بعدی یعنی mdpi می رود و سعی می کند خودش عکس ۴۸ پیکسلی را کوچک کند و بجای آیکن نمایش دهد و اینکار باعث نمایش عکس بصورت بلور می شود. همچنین اگر صاحل یک Nexus 7 برنامه را نصب کند ابتدا اندروید پوشه ی xhdpi را چک می کند اکر عکسی نبود پوشه بعدی یعنی hdpi و اگر با هم پیدا نکرد به سراغ mdpi می رود و سعی می کند آیکن ۴۸ پیکسلی را تا اندازه ۹۶ پیکسل بزرگ کند که فاجعه بار است و یک آیکن بی کیفیت و مات به کاربر نشان می دهد و در داخل برنامه هم عکسها بصورت کوچک یا مات مشاهده می شود.با رعایت این موارد می توانید برنامه هایی با گرافیک بالا طراحی کنید.

به فایل activity_main.xml باز می گردیم. اگر آن را بسته اید می توانید از پوشه res/layout آن را بیابید. این فایل ظاهر گرافیکی اولین برنامه ی ما را تشکیل می دهد. یک UI فوق العاده ساده که فقط شامل یک لایه نسبی (RelativeLayout) و یک TextView در داخل آن است. TextView همان Label است که در سایر زبانهای ویژوال وجود دارد و برای نمایش یک متن بکار می رود. RelativeLayout نیز یک لایه والد می باشد که سایر اجرا درون آن قرار می گیرند. فایل XML لایه را بصورت زیر ویرایش کنید:

انتقال برنامه به موبايل:

حال نوبت به ساخت، آزمایش و انتقال برنامه به گوشی می رسد. برای تست برنامه سه راه پیش رو دارید: اول اینکه از شبیه سازهای داخلی استفاده کنید. این شبیه سازها به CPUی Intel احتیاج داشته و از آنجاییکه ما از پردازنده ی AMD استفاده می کنیم این گزینه را کنار گزاشته ایم.

راه حل دوم اتصال یک دستگاه واقعی اندروید به کامپیوتر و اجرای برنامه در دستگاه می باشد. این روش بهترین روش ممکن است چرا که براحتی می توانید تمام امکانات برنامه مثل ارسال و دریافت SMS و غیره را در محیط واقعی تست کنید. ما از این روش بهره گرفته ایم. برای این کار ابتدا باید تمامی درایورهای گوشی خود را روی سیستم نصب کنید. پیشنهاد ما اینست که نرم افزار اصلی تلفن را از سایت سازنده دریافت و نصب کنید. مثلا نرم افزار گوشی های سامسونگ kies نام دارد. با نصب این نرم افزار تمام درایورهای USB گوشی نصب می شود (البته در یکی از مراحل نصب سوال می شود و باید به برنامه اجازه داد). مرحله بعد روشن کردن گزینه ی Developer Mode در گوشی می باشد و با فعال کردن این گزینه در گوشی و اتصال آن با کابل USB به کامپیوتر دیگر درایوی در My Computer نمایش داده نمی شود و گوشی بعنوان یک دستگاه (شبیه به مودم) شناسایی می شود. پس از اتصال گوشی براحتی می توانید دکمه ی فلش سبز رنگ (Play) را در بالای Android Studio کلیک کنید تا برنامه کامپایل شده و در گوشی بارگزاری و اجرا شود.

امضای فایل APK در اندروید استودیو:

گزینه سوم ایجاد فایل APK و انتقال آن به تلفن بصورت دستی (بلوتوث، زاپیا، ایمیل، کابل و غیره) می باشد. البته این روش برای ایجاد نسخه ی نهایی و امضا شده ی برنامه و انتقال به فروشگاه اندروید هم بکار می رود. برای ایجاد فایل APKی امضا شده از منوی Build روی Generate Signed APK کلیک کنید. اگر اولین بار است که این کار را انجام می دهید در پنجره جدید روی Create new کلیک کنید. پنجره ای بار می شود و در اینجا می توانید یک کلید برای خودتان ایجاد کنید تا از این به بعد تمام برنامه هایتان با این کلید امضا شود. فایده ی این کار اینست که اگر سورس برنامه شما به سرقت برود یا فردی بخواهد برنامه ای همنام با برنامه ی شما ایجاد و پخش کند چون به کلید شما دسترسی ندارد و برنامه اش را با کلید خودش امضا کرده است برنامه ی وی هرگز روی گوشی های کاربرانی که قبلا برنامه ی شما را نصب کرده اند نصب نخواهد شد. مثلا با این روش شما هرگز نمیتوانید یک برنامه به نام بازار بسازید و آن را به عنوان نسخه ی بالاتر جا بزنید، چرا که سیستم عامل گوشی به محض بررسی آپدیت برنامه ها امضای آنها را نیز چک می کند و فقط به برنامه ای اجازه ی Replace شدن با برنامه نصب شده می دهد که اولا نسخه آن بالاتر باشد (لزوما نه) و ثانیا امضای آن با امضای برنامه ی نصب شده یکی باشد.

پس دقت داشته باشید که با دقت و با اطلاعات صحیح کلید خود را بسازید و آنرا در جای امنی نگه داری کنید و حتما فایل آن را روی CD نیز داشته باشید چراکه در صورت از دست دادن امضای خود هرگز قادر به آپدیت کردن برنامه ها در مارکت های معتبر نخواهید شد. توجه داشته باشید که با همین یک کلید می توانید تمام برنامه های اندروید خود را امضا کنید و محدودیتی وجود ندارد. در واقع دقیقاً مانند امضاء واقعی شماست که معرف شماست و برنامه های شما از این طریق اعتبار پیدا می کنند.

برای ایجاد یک کلید در پنجره ی New Key Store ابتدا یک آدرس انتخاب کنید مثلا درایو D و یک نام دلخواه انگلیسی. (درایو C و دسکتاپ و داکیومنت را انتخاب نکنید چرا که معمولا به دلایل امنیتی به مجوز ادمین نیاز است و keytool قادر به ایجاد فایل نخواهد بود). در بخش پسورد هم یک پسورد دلخواه وارد کنید و در فیلد روبرو آنرا تکرار نمایید. در فیلد Alias یک نام دلخواه دیگر برای کلید خود (متفاوت با نام اصلی کلید) انتخاب کنید و برای آن رمزی انتخاب کنید، پیشنهاد می شود تمام رمزها یکسان باشد. (رمزها را هرگز فراموش نکنید چون کلید شما بلااستفاده می شود). در فیلد Validity هم یک عدد بزرگ مثلا ۱۰۰ را انتخاب کنید که در این صورت کلید شما پس از ۱۰۰ سال باطل خواهد شد. می توانید عدد بزرگتری را انتخاب کنید. در فیلدهای Certificate نیز حداقل باید یکی را پر کنید. مثلا ما فیلد Organization را پر کردیم. شما می توانید فیلد نام را پر کنید. دکمه OK را کلیک کنید تا کلید شما ساخته شود.

امضای فایل APK در اندروید استدیو

امضای فایل APK

پس از کلیک OK بلافاصله پنجره زیر نمایش داده می شود. در ضمن هر بار که از منوی Build روی Generate Signed APK کلیک کنید این پنجره نمایش داده خواهد شد که در صورت خالی بودن باید ابتدا کلید Choose existing را کلیک کنید و فایل کلید خود را انتخاب نمایید و سپس رمز Key store password را وارد کنید و پس از وارد کردن رمز، روی سه نقطه جلوی فیلد Key alias کلیک کنید و از پنجره باز شده نام Alias که برای کلید خود انتخاب کرده بودید را برگزینید (بصورت پیشفرض برگزیده شده است) و سپس Key password را نیز وارد کرده و روی Next کلیک کنید. (رمزها را موقع ساخت کلید یکسان در نظر بگیرید تا در وارد کردن رمز نیز دچار مشکل نشوید).

پس از کلیک Next پنجره ای مطابق با شکل زیر نمایش داده می شود. در این پنجره روی Finish کلیک کنید و منتظر بمانید تا فایل apk امضا شده ایجاد شود.

پس از مدتی (بسته به قدرت سیستم شما تا ۵ دقیقه) کار کامپایل برنامه تمام می شود و پنجره ای کوچک مطابق شکل زیر نمایش داده می شود. روی دکمه ی Show in Explorer کلیک کنید تا فایل APK نمایش داده شود. نام فایل نهایی همیشه app-release.apk می باشد. می توانید این فایل را در مموری کارت گوشی خود کپی و نصب کنید و نتیجه را مشاهده نمایید.

بدین ترتیب اولین برنامه خود را در اندروید استودیو ایجاد و نصب نمودید. این مراحل برای ایجاد هر پروژه ی اندروید تکرار می شود. گوگل پس از ایجاد اندروید استودیو دیگر پلاگینهای مربوطه را برای eclipse رایگان عرضه نمی کند و هیچ گونه پشتیبانی در خصوص eclipse ارائه نمی دهد. بطور مثال ممکن است برنامه ای با اکلیپس بنویسید که بدون خطا کامپایل شود ولی چون آپدیت نشده و نخواهد شد هرگز توابع منسوخ شده را به شما گوشزد نمی کند و ممکن است برنامه ی شما در یک گوشی جدید اصلا اجرا نشود.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *