اندروید

|

آموزش اندروید قسمت هفتم

Alternative resource

برنامه شما باید منابع جایگزین را برای ساپورت تنظیمات دستگاه خاصی فراهم کند. برای مثال برنامه باید شامل منابع قابل ترسیم جایگزین (I.e.images) برای وضوح تصویر های مختلف و منابع رشته جایگزین برای زبان های مختلف باشد.

در زمان اجرا, اندروید تنیمات دستگاه جاری را شناسایی می کند و منابع مناسب را برای برنامه شما بار گذاری خواهد کرد. برای مشخص کردن تنظیمات-خاص جایگزین برای یک دسته از منابع,مراحل زیر را دنبال کنید:

ایجاد یک پوشه جدید در RES / نام در فرم < resources_name > - < config_qualifier > . در اینجا resources_name خواهد بود هر یک از منابع ذکر شده در جدول بالا، مانند طرح ، ترسیم و غیره مقدماتی یک پیکر بندی فرد که این منابع مورد استفاده قرار گیرد را مشخص کنید. شما می توانید اسناد رسمی برای یک لیست کامل از مقدماتی برای نوع مختلف از منابع را بررسی کنید.

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

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

MyProject/

src/

main/

java/

MyActivity.java

res/

drawable/

icon.png

background.png

drawable-hdpi/

icon.png

background.png

layout/

activity_main.xml

info.xml

values/

strings.xml

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

MyProject/

src/

main/

java/

MyActivity.java

res/

drawable/

icon.png

background.png

drawable-hdpi/

icon.png

background.png

layout/

activity_main.xml

info.xml

layout-ar/

main.xml

values/

strings.xml

Accessing resources

در طول توسعه نرم افزار خود شما نیاز به دسترسی به منابع تعریف هم در کد خود را ، و یا در طرح های خود را فایل های XML. بخش زیر چگونگی دسترسی به منابع خود را در هر دو سناریو را توشیح می دهد :

Accessing Resources in Code

وقتی برنامه اندروید شما تالیف شد.یک کلاس R ایجاد می شود که شامل Ids منابع برای تمامی منابع قابل دسترس در دایرکتوری res/.شما می توانید از کلاسR برای دسترسی به منابعی که در حال استفاده زیر دایرکتوری و نام منبع یا ID منابع هستند استفاده کنید.

Example

مثال بعدی را در نظر بگیرید که RES / values / strings.xml در زیر تعریف شده است :

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="hello">Hello, World!</string>

</resources>

حالا شما می توانید متن را در یک شی TextView را با MSG ID با استفاده از یک ID منابع به شرح زیر تنظیم :

TextView msgTextView = (TextView) findViewById(R.id.msg);

msgTextView.setText(R.string.hello);

Example

در نظر بگیرید یک RES layout / layout/ activity_main.xml را با تعریف زیر :

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<TextView android:id="@+id/text"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Hello, I am a TextView" />

<Button android:id="@+id/button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Hello, I am a Button" />

این کد برنامه این طرح برای فعالیت بارگذاری، در متد onCreate متد () به صورت زیر -</LinearLayout>

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main_activity);

}

Accessing Resources in XML

در نظر بگیرید منابع زیر XML RES / ارزش / فایل strings.xml است که شامل یک منبع رنگ و یک منبع رشته –

<?xml version="1.0" encoding="utf-8"?>

<resources>

<color name="opaque_red">#f00</color>

<string name="hello">Hello!</string>

</resources>

حالا شما می توانید این منابع در فایل طرح زیر برای تنظیم رنگ متن و رشته متن به شرح زیر استفاده کنید:

<?xml version="1.0" encoding="utf-8"?>

<EditText xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:textColor="@color/opaque_red"

android:text="@string/hello" />

در حال حاضر اگر شما را از طریق فصل قبل یک بار دیگر که در آن من HELLO WORLD توضیح داده شده اند بروید! به عنوان مثال ، و من مطمئن هستم که شما درک بهتری را در تمام مفاهیم در این فصل توضیح نیست. بنابراین من به شدت توصیه به بررسی فصل قبل برای مثال کار و بررسی میکنم که چگونه منابع مختلف در سطح بسیار ابتدایی استفاده کرده اند.

دریافت آخرین مطالب وبلاگ در کانال داتینه

علی نعیمی

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

نظرات
نظر بدهید