آموزش برنامه نویسی اندروید - قسمت ۱۰: بررسی فولدرهای Andrtoid و assets و bin و libs
چهارشنبه 25 دی 1392 1:27 PM
اهداف آموزشی این قسمت عبارتند از: 1. معرفی فولدر Android 2.1
2. معرفی فولدر assets
3. معرفی فولدر bin
4. معرفی فولدر libs
پس از آشنایی با فولدرهای src و gen در قسمت نهم، در این قسمت قصد داریم تا به بررسی دیگر فولدرهای تشکیل دهندۀ یک اپلیکیشن اندرویدی بپردازیم. لطفا به ادامه مطلب بروید.
فولدر بعدی در این لیست فولدر Andtroid 2.1 نام دارد که تصویر آن در بالای مطلب درج شده است.
اگر خاطرمان باشد در حین ساخت اولین پروژه خود در اندروید در پنجره مربوط به مشخص کردن Build Target نسخه اندروید 2.1 را انتخاب کردیم. در حقیقت این فولدر در برگیرندۀ فایل android.jar است که حاوی کلیۀ API های لازم در SDK اندروید نسخه 2.1 است که اپلیکیشن ما تحت آن ساخته می شود. اگر این فولدر را باز کنیم، جایی که این API ها روی کامپیوتر ما نصب شده اند نشان داده خواهد شد. برای روش تر شدن مطلب به تصویر زیر دقت نمایید:
همانطور که مشاهده می شود مسیر C:\dev\android\platforms\android-7 جایی است که بنده در حین آماده سازی محیط برنامه نویسی اکلیپس و ابزار SDK مشخص کرده ام. از این پس در حین توسعه هر اپلیکیشنی Library ها یا اصطلاحاً "کتابخانه های" در برگیرندۀ API های لازم به توسعه تحت یک نسخه خاص از اندروید از این مسیر کپی خواهند شد.
به طور مثال اگر در حین ساخت پروژه نسخه دیگری همچون اندروید نسخه 3.0 را انتخاب کرده بودیم، فولدر Android 3.0 به اپلیکیشن ما Import می شد. چنانچه این فولدر را باز کنیم خواهیم دید که دارای پکیج ها، کلاس ها و منابع بسیار زیادی می باشد. خبر خوشحال کننده در ارتباط با این فولدر این است که در طول توسعه اپلیکیشن برای اندروید نیازی به باز کردن این فولدر و جستجو کردن چیزی در آن نداشته و به منظور استفاده از API های مد نظر در توسعه اپلیکیشن خود از دستورات Import استفاده خواهیم کرد که این لینک به صورت خودکار مابین اپلیکیشن ما و این فولدر برقرار خواهد شد.
این فولدر به صورت پیش فرض خالی است و دارای کاربردی شبیه به فولدر res می باشد با این تفاوت که هر چیزی که در فولدر res قرار می گیرد دارای یک id خواهد شد که از طریق همان id در هر جایی از اپلیکیشن خود که بخواهیم از آن استفاده کنیم از طریق فایل R.java فراخوانی می شود(در توضیحات پیرامون فولدر res در ادامه همین آموزش بیشتر با این مفاهیم آشنا خواهیم شد. برای آشنایی بیشتر با فایل R.java به آموزش نهم مراجعه نمایید).
اما این در حالی است که آزادی عمل ما در فولدر assets به مراتب بیشتر بوده و در واقع هر چیزی که بخواهیم به صورت raw یا "خام" در اپلیکیشن خود قرار دهیم را در این فولدر قرار می دهیم(واژه assets به معنی "دارایی ها" می باشد). از سوی دیگر می توانیم فولدرهای زیرمجموعه فولدر assets را بر اساس سلیقه خود دسته بندی کنیم سپس از طریق جاوا به چیزهای داخل این فولدر دسترسی پیدا کنیم. این فولدر بیشتر در مورد طراحی بازی اندرویدی کاربرد خواهد داشت که نیاز داریم از عناصر زیادی برای یک بازی بهره مند شویم. یا فرض کنیم که می خواهیم یک اپلیکیشن یادداشت برداری یا اصطلاحاً نت برداری طراحی کنیم که این اپلیکیشن برای سهولت کاربر دارای یک دیکشنری است که واژگانی که کاربر وارد می کند را حدس زده و تکمیل می کند(همانند اس ام اس دادن که با تایپ قسمت اول یک لغت، اپلیکیشن اس ام اس آن را برای ما تکمیل می کند). حال فرض کنیم که این دیکشنری یک فایل XML یا یک پایگاه داده از جنس SQLite است. فایل هایی از این دست را می بایست داخل فولدر assets قرار دهیم.
در قسمت های ابتدایی آموزش اندروید تمرکز بیشتر روی فولدر res خواهد بود.
همانطور که در تصویر زیر مشاهده می شود، پس از معرفی فولدر های فوق الذکر فولدر bin قرار گرفته است:
به طور خلاصه می توان گفت که اندروید خروجی های برنامه پس از Compile شدن را در این فولدر قرار می دهد. به عبارت دیگر کلیۀ فایل های Compile شدۀ جاوا که با پسوند class ذخیره می شوند(مثلاً MainActivity.class که از روی فایل MainActivity.java کامپایل شده است) و حتی فایلی با پسوند apk که با فرستادن آن روی تلفن همراه یا تبلت می توانیم اپلیکیشن را نصب کنیم در این فولدر قرار می گیرند. به طور مثال در ساخت اولین پروژه اندروید پس از تکمیل اپلیکیشن خود فایلی تحت عنوان MyFirstAndroidProject.apk در این فولدر ذخیره خواهد شد که به سادگی با کپی کردن آن روی تلفن همراه خواهیم توانست اپلیکیشن خود را اجرا کنیم.
فولدرهای مرتبط با Library ها یا "کتابخانه های اندروید" که در برگیرنده API های لازم برای توسعه اندروید می باشند در یک اپلیکیشن قابل روئیت نیستند اما آشنایی با آن بی فایده نیست. به طور خلاصه این فولدر حاوی Library هایی است که شرکت های طراحی و توسعه اپلیکیشن تولید کرده و یا به صورت رایگان و یا به صورت فروشی در اختیار دیگر برنامه نویسان و توسعه دهندگان اندروید قرار می دهند. به عنوان مثال library مرتبط با jTwitter دارای API های لازم برای به کارگیری Twitter در اپلیکیشن اندرویدی می باشد. در واقع اگر به طور مثال بخواهیم از قابلیت های Twitter در اپلیکیشن خود استفاده کنیم، می بایست Library مرتبط با jtwitter.jar را داخل فولدر libs قرار دهیم(کلمه libs مخفف واژه Libraries به معنی "کتابخانه ها" می باشد).
مدیر تالار های: