نحوه استفاده از منابع در اپلیکیشن اندروید – بخش دوم

نحوه استفاده از منابع در اپلیکیشن اندروید – بخش دوم

در مطلب قبلی شما را با انواع منابع اندروید آشنا کردیم، در ادامه به نحوه دسترسی و استفاده از این منایع خواهیم پرداخت، با ما همراه باشید.

2. دسترسی به منابع

تا این مرحله با نحوه افزودن منابع به اپلیکیشن اندروید آشنایی پیدا کردید، اکنون باید با نحوه دسترسی به این منابع آشنا شوید. به تمامی منابع ذخیره شده در اپلیکیشن یک نام منحصر به فرد که شامل نوع منبع مانند drawable یا layout بوده، به همراه یک آی دی در فایل R اپلیکیشن اختصاص داده می شود. فایل R توسط ابزار Android Asset Packaging یا aap تولید می شود. این نام های تولیدشده را می توان برای دسترسی به منابع در کد جاوا یا فایل منبع XML دیگری مورد استفاده قرار داد.

دسترسی به منابع در جاوا

بسیاری از آبجکت های اندروید با در ذهن داشتن آی دی های منابع ساخته می شوند و برای استفاده از منبع آی دی آن را مورد استفاده قرار می دهند. برای نمونه در زیر نحوه ست کردن یک ImageView برای استفاده از یک منبع drawable با ارسال آن در بخش آی دی R drawable را مشاهده می کنید.

mImageView.setImageResource(R.drawable.test);

به طور مشابه یک آبجکت MediaPlayer که برای اجرای صوت و ویدیو استفاده می شود را می توان برای اجرای یک فایل رسانه ای raw با ارسال در فایل آی دی R استفاده کرد.

MediaPlayer.create(getActivity(), R.raw.sample_media)

تعداد زیادی از آبجکت ها آی دی منبع دارند، اما ممکن است در برخی از شرایط مایل به استفاده از منبع اصلی در کد باشید، برای این کار باید از متد ()getResource که در آبجکت Context اندروید در دسترس است، استفاده کنید. این کار یک آبجکت Resources همراه با چندین متد برای دسترسی به منابع لوکال اپلیکیشن مانند ()getColor و ()getDrawable را برمی گرداند.

getResources().getColor(R.color.colorPrimary);

getResources().getDrawable(R.drawable.kittens);

دسترسی به منابع در XML

در برخی از شرایط لازم است تا به منابع موجود در فایل های XML دسترسی پیدا کنید. تعریف رنگ ها، استایل ها، متن یا هرگونه منبع دیگر که در مکان های مختلف از اپلیکیشن شما قرار دارند، نگهداری را ساده تر می کنند و با تغییر یک مقدار، تغییر در سایر بخش های اپلیکیشن نیز اعمال می شود. امکان دسترسی به منابع در ویژگی های XML با ارسال آی دی به فیلدی که یک آی دی منبع می خواهد، امکان پذیر شده است.

<TextView

android:id="@+id/tv_test"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@color/colorPrimary"

android:text="@string/title"

style="@style/TitleStyle"/>

3. در اختیار قرار دادن منابع جایگزین

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

تراکم صفحه نمایش

به منظور جلوگیری از پیکسلی شدن، bitmap assets ساخته شده برای اپلیکیشن باید برای تراکم های پیکسل خاصی ساخته شده باشد. با افزودن ldpi ،-mdpi- و hdpi- به فولدرهای دایرکتوری، سیستم اندروید می فهمد که از کدام assetها ها برای یک گوشی خاص استفاده کند.

زبان های کاربر

شما قادر به ساخت دایرکتوری های values منحصر به فرد برای هریک از زبان هایی هستید که اپلیکیشن شما پشتیبانی می کند، برای این منظور لازم است یک کد زبان را به آخر نام دایرکتوری اضافه کنید، برای نمونه values-fr یا values-es برای زبان های فرانسوی یا اسپانایایی.

وقتی که زبان به یکی از این زبان ها ست شد، سیستم به جای پیش فرض ها از مقادیر جدید استفاده می کند و این کار برای جایگزین کردن منابع رشته ای با ترجمه های صحیح کاربردی خواهد بود.

تبلت و پشتیبانی از جهت ها

شما می توانید عبارت land- را به دایرکتوری منبع اضافه کنید تا وقتی گوشی در وضعیت لنداسکیپ قرار دارد، پیش فرض ها اورراید شوند، علاوه بر این می توانید با تعیین یک عرض مینیمم گوشی برای دایرکتوری منبع پیش فرض را اورراید کنید تا از تبلت ها هم پشتیبانی شود و sw600dp- را برای تبلت هایی با سایز متوسط و sw720dp- را برای تبلت های بزرگ اضافه نمایید.

جمع بندی

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

 

http://code.tutsplus.com برگرفته از

اینها را هم بخوانید