در این بخش ،ساختار و محتویات یک پروژه اندرویدی را بررسی میکنیم از جمله فولدر های src،gen ،Android 4.3، asset، bin، res، drawable،layout ،value و فایل AndroidManifest.xml و محتویات دیگر یک پروژه اندرویدی را توضیح میدهیم.
( android project)
فولدر src
این فولدر دربرگیرنده کلیه فایل های جاوا که در Application استفاده می شود ، هست .
فایل های جاوا را می توان در پکیجی غیر از این پکیج قرار داد ، که باید ابتدا آن پکیج را ساخت.
نحوه ایجاد پکیج و کلاس جاوا:
...:Right click on Src folder – New Package – Name
... :Right click on Packege –New Class –Name
فولدر gen
فایلی در این پوشه قرار دارد به نام R.java ، که سیستم عامل اندروید با این فایل ، Java و xml را به هم مرتبط می کند.بدین طریق که برای هر عنصر موجود در منابع برنامه ما از جمله layout ، متون، عکس ها ،فونت ها و ... ، یک id در این فایل می سازه .این فایل خودکار ایجاد می شود و اصلا نباید محتویات آن را تغییر داد و حتی اگر این فایل را حذف کنیم به محض کامپایل برنامه ، این فایل مجدد ساخته می شود.
فولدر Android 4.3
شامل کلیه API های لازم در sdk اندروید نسخه 4.3 می باشد.در واقع کتابخانه های مربوط به این نسخه از اندروید را دارد، تا موقع کامپایل برنامه ، برنامه با استفاده از این ها کامپایل شود.
فولدر asset
هر چیزی که بخواهیم به صورت خام در برنامه قرار دهیم و اندروید به آن دست نزند را در این پوشه میگذاریم . مثلا فونت هایی که در برنامه قصد داریم ازشون استفاده کنیم یا مثلا یک پایگاه داده.
فولدر bin *
خروجی برنامه پس از کامپایل در این فولدر قرار میگیرد.فایل با پسوند apk. ، که قابل انتقال به گوشی ها و قابل نصب بر روی آن ها است در این فولدر هست . فقط کافی است آن را کپی کرده و روی هر گوشی که بخوایم نصب کنیم.
فولدر res
فولدر drawable
برای ذخیره سازی تصاویر، شکل ها و چیز هایی از این قبیل استفاده می شود،که هر پوشه تصاویر گرافیکی مربوط به یک سایز گوشی را نگه میدارد.
Ldpi ، تصاویر مربوط به گوشی های کوچک را نگه میدارد.mdpi ، تصاویر مربوط به گوشی های متوسط،.hdpi ، تصاویر مربوط به گوشی های بزرگ و xhdpi و xxhdpi ، تصاویر مربوط به تبلت ها با صفحه نمایش خیلی بزرگ را نگه می دارند.
Ldpi : low density per inch
اندازه تصویر لوگو پیش فرض خود اندروید به صورت زیر است ، که ما هم از همین استاندارد برای resize کردن تصاویر استفاده میکنیم :
(اندازه تصاویر لوگو پیش فرض اندروید )
از روی نسبت های این تصاویر پیش فرض ، به این نتیجه می رسیم که هر 1 پیکسل در xhdpi معادل 0.75 پیکسل در hdpi و 0.5 پیکسل در mdpi و 0.375 پیکسل در ldpi است . ولی پیکسل اعشاری معنایی ندارد و اولین عددی که تعداد پیکسل برای هر 4 سایز ، عدد صحیحی بدست می آید وقتی است که 8 پیکسل از xhdpi را در نظر بگیریم.و در تمام مضارب 8 این تعداد پیکسل ها صحیح بدست می آیند .
طبق تصویر زیر برای استفاده از این اعداد مثلا اگر در نظر دارید تصویری در xhdpi ، 40*80 پیکسل باشه در بقیه فولدر ها باید به صورت زیر باشد.وقتی عکس را resize کردیم سپس آن را به داخل پوشه مربو طه اش کشیده و در آن قرار می دهیم.
(اندازه های استاندارد برای تصاویر اندروید)
Hdpi : 30*60 pixcel / Mdpi : 20*40 pixcel / Ldpi : 15*30 pixcel
در این فولدر، UI یا همان رابط گرافیکی ذخیره می شود و با زدن بر روی فایل activity_main.xml وارد محیط زیر می شوید که دو تب دارد در تب اول می توان کامپوننت ها را به صورت گرافیکی به UI اضافه کرد و در دومی با کد xml می توان این کار را انجام داد. این 2 بخش به هم مرتبط هستند و تغییرات هر یک روی دیگری اثر میگذارد.
(فایل activity_main.xm)
فولدر value
برای ذخیره سازی اسامی ، متون ، جملات استفاده می شود .در واقع شامل یک سری فایل xml است.هر گاه لازم باشد چیزهایی در برنامه ثابت باشند مانند اسم پروژه یا جمله ای که همیشه قرار است در برنامه باشد می توان آن را در زیر پوشه ای این فولدر قرار داد.حال اگر این رشته است در string.xml و اگر style ، در style.xml و اگر درباره ابعاد است در dimens.xml قرار می دهیم.یا مثلا برای ذخیره لیستی از رنگ ها از color.xml و برای ذخیره داده هایی از جنس اعداد و کلمات از array.xml استفاده کرده و خودمان این فایل ها یا هر فایلی که لازم بود را بسازیم.
*با style می توان خصوصیات کلی تعریف کرد و این خصوصیات را به هر عنصری که بخواهیم نسبت بدهیم و نیاز نباشد را برای تک تک عناصر جدا تعریف کنیم.
AndroidManifest.xml
این فایل ، اطلاعات کلی پیرامون Application را به اندروید می دهد.مثلا کامپوننت هایی استفاده شده در برنامه را به اندروید معرفی کرده ، permission ها یا مجوز هایی که کاربر برای نصب برنامه باید صادر کند و ... .
از جمه این مجوز ها مثلا برنامه شما برای اجرا به اینترنت احتیاج دارد و شما باید مجوز آن را این جا تعریف کنید و موقع نصب برنامه اجازه دسترسی به اینترنت از کاربر گرفته می شود. با کلیک بر این فایل صفحه ای شامل 5 تب باز می شود که 4 تا اولی گرافیکی هستند و آخرین یعنی AndroidManifest.xml در قالب xml است.
( فایل AndroidManifest.xml )
Version code :
این عدد به کاربر نمایش داده نمی شود و برای شناسایی Application توسط googleplay آورده می شود ، تا آبدیت های این Application را پیگیری کند.هر نسخه که آبدیت می شود باید Version code بالاتری نسبت به قبی داشته باشد و الا googleplay این را نمی فهمد تا به کاربران بگوید که آبدیت این Application هم آمده است.
Version name :
نامی است برای رویت کاربرانی که این Application را دانلود می کنند.مثلا براساس تاریخ انتشار Application ، نام بگیرند. 8- project.properties ارتباطی بین Application ، ADT و Eclipse می دهد.از جمله مواردی که در این فایل است ، Target sdk است .این فایل را نباید دستی تغییر داد و اگر هم خواستی Target sdk را عوض کنید و Application را برای نسخه دیگر اندروید بنویسید به طریق زیر تغییر را اعمال کنید:
Targetانتخاب نسخه <- properties - > Android<- راست کلیک روی اسم پروژه