بررسی فولدر res

آموزش یازدهم
اهداف آموزشی این قسمت عبارتند از:
1. معرفی فولدر res
2. روش نامگذاری فولدرهای زیرمجموعه res
پس از آشنایی با فولدرهای Android و assets و libs و bin در قسمت دهم، در این قسمت قصد
داریم تا به بررسی موردی دیگر فولدرهای تشکیل دهندۀ یک اپلیکیشن اندرویدی بپردازیم.
معرفی فولدر res
در یک کالم، کلیۀ عناصر موجود در یک اپلیکیشن اندرویدی از Layout گرفته تا دیگر عناصر مثل
عکس، فایل صوتی، فایل تصویری، انیمیشن، فونت، آیکون و … در فولدر res قرار خواهند گرفت)واژه
res مخفف واژه resources به معنی “منابع” است(.
چنانچه بخواهیم به طور کاربردی عملکرد این فولدر را بررسی کنیم به مثالی اکتفا می کنیم. فرض کنیم
شخصی هم دارای یک تلفن همراه اندرویدی دو انیچی است و هم دارای یک تبلت ده اینچی. حال ایشان
اپلیکیشن خاصی را تهیه کرده و تمایل دارد که روی هر دو دستگاه نصب کند. زمانیکه وی این اپلیکیشن
را روی تلفن همراه خود نصب می کند پیش از نصب سیستم عامل اندروید خصوصیات گوشی را مورد
بررسی قرار می دهد و می بیند که این گوشی دارای اندازه ای معادل با دو اینچ است و زبان انتخابی آن
فارسی است. اکنون اندروید پس از پی بردن به این اطالعات اقدام به استفاده از منابع و عناصر متناظر با
ویژگی های گوشی خواهد کرد. به عبارت دیگر یکی از فولدرهای زیرشاخه فولدر res مربوط به عکس
های مورد استفاده در صفحه نمایش های دو اینچی است از این رو اندروید برای نصب اپلیکیشن از عکس
های داخل این فولدر استفاده خواهد کرد. یا از آنجا که زبان انتخابی گوشی زبان فارسی است، از این رو
اندروید در حین نصب به فولدری در res مراجعه خواهد کرد که برای زبان فارسی در نظر گرفته شده
است.
به همین منوال پس از نصب اپلیکیشن روی تبلت اندروید خواهد دید که اندازه صفحه نمایش این دستگاه
ده اینچ است پس به سراغ فولدری در زیرمجموعه فولدر res خواهد رفت که دارای عکس های بهینه
شده برای صفحه نمایش های بزرگ می باشد. از سوی دیگر از آنجا که زبان انتخابی تبلت زبان انگلیسی است، در حین نصب به سراغ فولدری خواهد رفت که معادل انگلیسی کلیۀ واژگان، عبارات و جمالت در
آن قرار گرفته است.
نکته ای که در ارتباط به فولدرهای زیرمجموعه res وجود دارد این است که اسامی کلیۀ فولدرهای
زیرمجموعه از پیش تعیین شده هستند و ما به عنوان یک توسعه دهنده اپلیکیشن اندرویدی اجازه نداریم
تا هر نوع فولدری به هر نامی در فولدر res ایجاد کنیم. مثالً فرض کنیم که می خواهیم اپلیکیشنی
طراحی کنیم که عکس های شخصی ما را نشان دهد. حال نیاز داریم تا تعدادی عکس شخصی را وارد
برنامه خود کنیم اما به هیچ وجه اجازه نداریم فولدری تحت عنوان Personal Photos به معنی
“عکس های شخصی” بسازیم.
فولدرهای زیرمجموعه که می توانند در فولدر res قرار گیرند عبارتند از:
1. فولدری تحت عنوان anim که برای ذخیره سازی انیمیشن در نظر گرفته شده است. واژه anim
مخفف واژۀ animation به معنی “انیمیشن” یا “تصویر متحرک” است.
2. فولدری تحت عنوان color به معنی “رنگ” که برای ذخیره سازی رنگ ها در نظر گرفته شده
است.
3. فولدری تحت عنوان drawable به منظور ذخیره سازی تصاویر، شکل ها و چیزهایی از این
دست مورد استفاده قرار می گیرد. فرمت عکس هایی که می توانند در این فولدر قرار گیرند می
تواند یکی از فرمت های png یا jpg یا gif یا 9.png باشد.
4. فولدری تحت عنوان drawable-xhdpi جزو فولدرهایی که به صورت پیش فرض ممکن
است در یک اپلیکیشن ایجاد نگردد. این فولدر در حقیقت به عنوان نسخه ای از فولدر
drawable است که برای تبلت هایی با صفحه خیلی بزرگ مورد استفاده قرار می گیرد)نکته
ای که در ارتباط به نحوه نامگذاری این فولدر می بایست همواره مد نظر قرار گیرد این است که
پس از نوشتن نام drawable یک Dash یا خط تیره قرار داده سپس عبارت xhdpi را می
نویسیم)فراموش نکنیم که Dash با Underscore فرق دارد و اگر Underscore قرار
دهیم با مشکل مواجه می شویم. در واقع با پایین نگه داشتن دکمه Shift در حین زدن دکمه
Dash می توانیم Underscore را تایپ کنیم.( حرف x مخفف واژه extra به معنی
“خیلی” است. حرف h مخفف واژه high به معنی “زیاد” است. حروف dpi مخفف واژگان
Dots per inch به “معنی نقطه در هر اینچ” می باشند(.
5. فولدری تحت عنوان drawable-hdpi به عنوان نسخه ای از فولدر drawable است که
برای تلفن ها یا تبلت هایی با صفحه بزرگ مورد استفاده قرار می گیرد)حرف h مخفف کلمه
high به معنی “بزرگ” است
6. فولدری تحت عنوان drawable-ldpi به عنوان نسخه ای از فولدر drawable است که
برای تلفن هایی به اندازه صفحه کوچک)مثالً دو اینچی( مورد استفاده قرار می گیرد)حرف l
مخفف کلمه low به معنی “کوچک” است(.
7. فولدری تحت عنوان drawable-mdpi به عنوان نسخه ای از فولدر drawable است که
برای تلفن هایی به اندازه صفحه متوسط مورد استفاده قرار می گیرد)حرف m مخفف کلمه
medium به معنی “متوسط” است(.
8. فولدری تحت عنوان layout به منظور ذخیره سازی UI یا همان “رابط گرافیکی کاربر”
مورد استفاده قرار می گیرد)به عبارت دیگر همان صفحۀ اصلی اپلیکیشن که پس از اجرا باال می
آید در این فولدر قرار می گیرد(.
9. فولدری تحت عنوان menu به منظور ذخیره سازی منوها مورد استفاده قرار می گیرد)منوها
ابزارهایی هستند که با استفاده از دکمه Menu تلفن همراه یا تبلت فرا خوانده می شوند که از
طریق گزینه های داخل منو می توان به بخش های مختلف اپلیکیشن رفت(.
11. فولدری تحت عنوان raw که “خام” معنی می دهد به منظور ذخیره سازی فایل هایی از قبیل
MP3 . نکته ای که در مورد این فولدر می بایست مد نظر قرار دهیم این است که عناصر داخل
این فولدر توسط اندروید Compressed یا فشرده نمی شوند.
11. فولدری تحت عنوان values به معنی “مقادیر” به منظور ذخیره سازی اسامی، متون و جمالت
به کار می رود. نکته ای که در مورد نحوه ذخیره سازی این چنین عناصری در فولدر values
می بایست همواره مد نظر قرار داده شود این است که فایل های XML که در این فولدر قرار
می گیرند می بایست از نامگذاری خاصی که از پیش تعیین شده است پیروی کنند.
از اینرو برای ذخیره سازی داده هایی از جنس اعداد و کلمات در کنار یکدیگر می بایست فایلی تحت
عنوان arrays.xml ایجاد کرده و آن را داخل فولدر values قرار دهیم.
چنانچه بخواهیم لیستی از رنگ ها داشت باشیم، می توانیم فایلی تحت عنوان colors.xml ایجاد کرده
و مقادیر رنگ های مد نظر خود را در آن وارد کنیم.
چنانچه بخواهیم لیستی از ابعداد و اندازه ها داشته باشیم، می توانیم فایلی تحت عنوان dimens.xml
ایجاد کنیم. کلمه dimens مخفف کلمه dimensions به معنی “ابعاد” است. کاربرد این فایل به
این شکل است که می توانیم در آن یکسری ابعاد تعریف کرده سپس آنها را در برنامه خود مثالً برای
اندازه یک متن استفاده کنیم.
چنانچه بخواهیم یکسری کلمه یا عبارت یا نوشته ایجاد کنیم و آنها را در برنامه خود استفاده کنیم می
توانیم از فایلی تحت عنوان strings.xml استفاده کنیم. به طور مثال فرض کنیم که می خواهیم اپلیکیشن خود را با نام خدا آغاز کنیم، از اینرو یک string با مقدار In the name of God در فایل
strings.xml ایجاد کرده سپس در هر کجای برنامه که بخواهیم می توانیم آن را فرا بخوانیم)الزم به
ذکر است کلمه انگلیسی God با کلمه god دارای تفاوت معنایی است. در واقع این کلمه با حرف بزرگ
به معنای “خدای یکتا” است در حالیکه کلمه god با حرف کوچک به معنی “الهه” است. مثالً
The god of water به معنی “الهه آب” است(.
چنانچه با HTML آشنایی داشته باشیم می دانیم که برای شکل دادن به ظاهر عناصری که توسط
کدهای HTML ایجاد می شوند می توانیم از CSS استفاده کنیم. در توسعه اندروید هم چیزی شبیه
به CSS تحت عنوان styles.xml وجود دارد. موارد استفاده این style ها ایجاد خصوصیاتی کلی
است که با نسبت دادن آن خصوصیات به عنصری در اپلیکیشن دیگر نیاز به تعریف تک تک آن خصوصیات
برای هر چیزی در اپلیکیشن نیست.
اپلیکیشنی که در برگیرندۀ کلیه فولدرها و فایلی های توضیح داده شده در این آموزش باشد به شکل زیر
خواهد بود:Android32
پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤاالت زیر پاسخ بدهیم:
1. آیا می توان فولدرهای زیرمجموعه فولدر res را به صورت دلخواه نامگذاری کرد؟
2. عکس ها با چه فرمتی می توانند در یک اپلیکیشن اندرویدی استفاده شوند؟
3. تفاوت نسخه های متفاوت فولدر drawable در چیست؟
UI .4 اصلی یک اپلیکیشن در کدام فولدر قرار می گیرد؟
5. معادل CSS در سیستم عامل اندروید چیست؟
6. تفاوت God با god چیست؟
در آموزش آتی با نحوه ایجاد فولدرهای زیرشاخه res هم چنین ایجاد فایل های زیرشاخه فولدر
values آشنا خواهیم شد.
منبع : اسکان اکادمی

پاسخ دهید

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