ایجاد پروژه و درک ساختار آن
دریافت نسخهی pdf این آموزش [حجم 1.56 مگابایت]
مشاهده تصویر متحرک ساختن یک پروژه اندروید در ایکلیپس
خوب بعد از تمام مراحل اولیه ای که انجام دادیم، وقتش رسیده که یاد بگیریم چطور یه پروژهی اندروید بسازیم. برای این کار برنامه ایکلیپس رو باز کنید.
۱.از منوی ایکلیپس File -> New -> Project.
بعد روی Android کلیک کنید تا زیرشاخه هاش باز بشه، بعد هم Android Application Project و Next.
خوب حالا باید مشخصات پروژه تون رو تعیین کنید.
اولین گزینه اسم برنامه است، (همون اسمی که تو play store خواهد بود و همین طور توی لیست برنامه ی گوشی)
فیلد بعدی اسم پروژهایه که میخواید بسازید و فقط تو محیط ایکلیپس ازش استفاده میشه و میتونه همون اسم واقعی برنامهتون باشه.
فیلد بعدی اسم پکیج یا بستهی برنامهتونه و package name معمولا برعکس دومین سازندهی برنامه است. باید حواستون باشه که این اسم خیلی مهمه چون وقتی میخواید برنامهتون رو به روز رسانی کنید تنها راهی که سیستم اندروید متوجه میشه این آپدیت مربوط به کدوم نرمافزاره از همین طریقه. و باید توی این دنیای برنامهها هر برنامهای package name مخصوص خودش رو داشته باشه.
در قسمت بعدی باید کمترین نسخهی اندرویدی که برنامهتون پشتیبانی میکنه رو انتخاب کنید، مثلا اگه از هیچ ویژگی خاص جینجربرد استفاده نمی کنید، معقول تره که نسخه های پایین تری ازش رو انتخاب کنید تا کاربرانی که نسخه های پایین تری دارند هم بتونن از برنامتون استفاده کنن. خود گوگل هم پیشنهاد کرده API 8 رو انتخاب کنید تا تقریبا تمام گوشیهای اندروید برنامهتون رو اجرا کنن.
در فیلد بعدی باید بالاترین نسخهی اندروید که برنامتون میتونه روش کار کنه رو انتخاب کنید، مشخصه که هرچه سطحش رو بالاتر بگیرید گوشیهای جدید هم میتونن از برنامهتون استفاده کنن، ولی باید حواستون باشه که حتما برنامه رو تو نسخههای دیگه هم تست کنید تا مشکلی برای کاربرها پیش نیاد.
Next رو بزنید.
گزینه ی ceate custom launcher icon اگه تیک خورده باشه یعنی اینکه همین الان که میخواید پروژهی برنامهتون رو بسازید، بیاید آیکون برنامهتون رو هم طراحی کنید و بذارید تو برنامه.
گزینهی بعدی یه فعالیت (activity) میسازه. و مشخصه که هر برنامه ای حداقل باید یه صفحه داشته باشه که همون فعالیته. پس بذارید گزینهی Create Activity فعال بمونه.
گزینهی بعدی برای اینه که بخواید کتابخانهی اندروید بسازید.
گزینهی بعدی هم اگه تیکش رو بردارید میتونید محل ذخیره شدن پروژه رو تغییر بدید.حالا که همه چیز رو مشخص کردید next رو بزنید.
۲. اگر تو مرحلهی قبل گزینهی ساختن آیکون رو تیک زده باشید حالا ازتون می خواد که آیکون برنامهتون رو درست کنید، میتونید یه نوشته رو انتخاب کنید و تزئینش کنید (Text) یا از طرحهای گرافیکی خود اندروید استفاده کنید (Clipart) یا اینکه یه عکسی رو از توی کامپیوترتون انتخاب کنید و به عنوان آیکون برنامه ازش استفاده کنید.
بعد با گزینه هایی که داره محل قرار گرفتن عکس رو تنظیم کنید. گزینهی Trim Surrounding Blank Space فضای خالی اطراف عکس رو میبره. اگه تیکش رو بردارید، می تونید خودتون انتخاب کنید چقدر از فضای اضافهی دور عکس بمونه.
Shape سه تا حالت داره یا هیچی (None) یا مربعی (Square) یا دایرهای (Circle). و میتونید رنگ پس زمینه رو هم انتخاب کنید.
بعد از طراحی آیکون برنامهتون next رو بزنید.
۳. حالا باید انتخاب کنید که یه فعالیت معمولی میخواید یا یه فعالیت با جزئیات جامع (MasterDetailed). اگر فعالیت با جزئیات کامل رو انتخاب کنید بهتون این امکان رو میده که روی تبلتها دو تا ستون داشته باشید و روی صفحات کوچکتر یه ستون و دوتا فعالیت براتون میسازه و غیره و ازتون میخواد که سطح API برنامهتون رو بالاتر از API 11 انتخاب کنید تا این ویژگی فعال شه. اگر هم یه فعالیت معمولی میخواید که میتونید next رو بزنید.
۴.اگر در قسمت قبل انتخاب کرده باشید که یه فعالیت (activity) بسازید، الان ازتون میخواد که اول اسم فعالیت رو انتخاب کنید بعد اسم صفحه بندیاش رو انتخاب کنید. بعد ازتون میخواد ماهیت فعالیتتون رو انتخاب کنید اگر None رو انتخاب کنید مشکلی نیست ولی اگه هر کدوم از گزینههای دیگه رو انتخاب کنید ازتون میخواد که کمترین سطح API تون رو ۱۴ بذارید (و طبعا باید API 14 رو هم دانلود و نصب کرده باشید)
Finish رو بزنید تا پروژه ساخته بشه.
ممکنه ازتون بخواد که کتابخانهی اندروید رو نصب کنید
به مسیری که sdk تون ذخیره شده برید، جایی که فولدرهای tools, platform-tools, platforms و.... قرار داره، یه فولدر با اسم extras بسازید، بعد توش یه فولدر دیگه به اسم android بسازید، بعد این فایل رو دانلود کنید و از حالت فشرده خارج کنید و داخل فولدری که همین الان ساختید قرار بدید، ایکلیپس رو اگه باز هست ببندید و دوباره اجراش کنید، حالا شروع به ساختن پروژهی جدید کنید.
۵.خوب بعد از اینکه پروژه ساخته شد. قسمت سمت چپ ایکلیپس توی ستون Package Explorer باید اسم پروژتون رو ببنید. روی دکمهی مثلثی بغلش کلیک کنید تا زیرشاخه هاش رو نشون بده، بعد src رو انتخاب کنید و بعد هم اسم package تون رو. می بینید که یه فایل جاوا ساخته شده که مربوط به همون activity هست که تو مرحله قبل دستور داده بودید بسازه.
ما تو این فایل جاوا می تونیم توابع مختلفی رو override (دوباره نویسی تابعی که از والد -در اینجا کلاس Activity- ارث بری شده) کنیم تا activity کامل تری داشته باشیم. به طور پیش فرض خودش onCrete رو override کرده. همون طور که قبلا اشاره شد، می تونیم توابعی مثه onPause , onStart و... رو override کنیم.
۶.override کردن تابع onCreate ضروریه و می بینید که اول دستور super.onCreate رو فراخوانی می کنه بعد هم با دستور setContentView محتواش رو روی صفحه بندی (layout) این activity تنظیم می کنه. (با ارجاع به فایل xml ای که در شماره بعد توضیح داده شده) تا وقتی که ContentView تنظیم یا ست نشده باشه ما در خروجی چیزی نمی بینیم.
۷.اون R.layout.main به فایل xml ای ارجاع داده میشه به نام main. این فایل xml در زیرشاخه res و بعد هم layout قرار داره. (بقیه زیر شاخه ها رو تو شمارهی ۱۳ آموزش خواهیم داد) که اگه روش کلیک کنید براتون یه صفحه ای رو میاره که توش واسط کاربری (UI) برنامه تون رو میتونید درست کنید.
۸.اگه از قسمت پایینی همین صفحه activity_main.xml رو انتخاب کنید، کد xml نوشته شده برای نمایش این فعالیت (activity) رو بهتون نشون میده. همون طور که می بینید این فعالیت (activity) روی یک Relativelayout سوار شده (خط ۱ کد) و یک TextView هم که به صورت پیش فرض روی صفحه بود اینجا ساخته و مقدار دهی شده. (خط ۱۱ کد). در پست های بعدی این قسمت بیشتر توضیح داده خواهد شد.
۹. خوب حالا برای اجرای نرم افزار روی دکمهی Run بالای صفحه کلیک کنید (توی تصویر مشخصه). و چون اولین باره که می خواید پروژه های اندرویدی رو اجرا کنید ازتون می پرسه چه مدلی قصد دارید اجراش کنید، همون اولین گزینه یعنی Android Application رو انتخاب کنید و OK رو بزنید.
۱۰.حالا شبیه ساز (emulator) شروع به شبیه سازی این برنامه می کنه یعنی اول برنامه رو روی دستگاه مجازی نصب می کنه و بعد هم اون رو اجرا می کنه، که یه هم چین چیزی می شه :
و اگه تو دستگاه مجازی به قسمتی برید که همه برنامه ها رو نشون میده میبینید که این برنامه هم نصب شده و با باز و بسته کردن شبیه ساز از بین نمی ره و تنها در صورتی از بین می ره که خودتون wipe user data رو که قبلا توضیح دادم (شماره ۱۰ این آموزش) رو انتخاب کرده باشید یا به صورت دستی پاکش کنید (uninstall).
۱۱.خوب تا اینجا فهمیدیم که یه پروژه به صورت پیش فرض یه فایل جاوا داره که کلاس Activity رو ارث بری (extends) می کنه و توش به یه فایل xml اشاره می کنه که همون UI یا واسط کاربریه.
حالا بیاید با فولدرهای دیگهی پروژه آشنا بشیم. در ستون سمت چپ یه فولدری هست به نام gen که توصیهی اکید میشه اصلا دستکاریش نکنید. چون شامل فایل هایی هست که به صورت خودکار generated میشه. ولی حالا یه کم درباره اش توضیح می دیم. روی فایل R.java کلیک کنید تا بازش کنه.
همین طور که در طول برنامه ما منابعی (resources) رو به برنامه اضافه می کنیم (که در فولدر res ذخیره میشن) اندروید به صورت خودکار ورودی هایی رو براشون در این فایل R.java تعبیه می کنه. مثلا برای آیکن برنامه یه ورودی ic_launcher ساخته و بهش یه عدد خاصی رو نسبت داده.
خوب حالا لازم نیست نگران این قسمت باشید فقط می خواستم بدونید هم چین فایلی وجود داره.
۱۲.فولدر بعدی که می خوایم بررسی کنیم android 2.1 هست، این فولدر در واقع همون SDK هست که شامل تمام توابع و ساختار هاییه که به صورت پیش فرض تعریف شده و همشون در یک کتابخانه به نام android.jar گردآوری شده. شاید در طول انجام پروژه اصلا نیازی پیدا نکنید که بهش مراجعه کنید ولی خوب اگه از توابع و اینا خواستید مطلع بشید می تونید یه نگاهی بهش بندازید.
۱۳. بعدش فولدر assets هست (که بعدا بهش می پردازیم) و بعد هم فولدر res که مخفف resources به معنی منابع هست و تمام عکس ها و فایل هایی که می خواید تو برنامه تون ازش استفاده کنید رو باید اینجا نگه داری کنید. مثلا الان آیکن برنامه به صورت پیش فرض توی فولدرهای drawable وجود داره. تمام فایل های xml مربوط به layout ها (صفحه بندی ها) دراینجا نگه داری می شه.
۱۴. فایل بعدی AndroidManifest.xml هست که توی پست بعدی مفصل دربارش توضیح خواهیم داد. در واقع این فایل یک ویرایشگر بصریه (Visual Editor) که قسمت های مختلف نرم افزار رو می تونیم توش تغییر بدیم. در واقع این فایل برنامه شما رو برای سیستم اندروید تعریف و تشریح می کنه.
دو تا فایل بعدی یعنی progaurd.cfg و project.properties هم مهم نیستن.
خوب این یه شناخت پایه ای بود بر پروژه های اندرویدی!