Tutorial ini akan menjelaskan bagaimana Anda dapat mengatur sumber daya aplikasi Anda, tentukan sumber alternatif dan mengaksesnya dalam aplikasi Anda.
Mengatur Sumber Daya dalam gerhana
Anda harus menempatkan setiap jenis sumber daya di sub direktori spesifik res / direktori proyek Anda. Sebagai contoh, inilah hirarki file untuk proyek sederhana:
MyProject/ src/ MyActivity.java res/ drawable/ icon.png layout/ activity_main.xml info.xml values/ strings.xml
Res / direktori berisi semua sumber daya dalam berbagai sub direktori. Di sini kita memiliki sumber daya gambar, tata letak dua sumber, dan file string sumber daya. Tabel berikut memberikan detail tentang direktori sumber daya didukung dalam res proyek / direktori.
Mengatur sumber daya di Android Studio
MyProject/ src/ main/ java/ MyActivity.java res/ drawable/ icon.png layout/ activity_main.xml info.xml values/ strings.xml
anim /
XML yang mendefinisikan animasi properti. Mereka disimpan di res / anim / folder dan diakses dari kelas R.anim.
color /
XML yang mendefinisikan daftar negara warna. Mereka disimpan di res / warna / dan diakses dari kelas R.color.
drawable /
gambar file seperti .png, .jpg, .gif atau XML file yang dikompilasi ke dalam bitmap, daftar negara, bentuk, ditarik animasi. Mereka disimpan di res / ditarik / dan diakses dari kelas R.drawable.
layout/
XML yang mendefinisikan tata letak antarmuka pengguna. Mereka disimpan di res / layout / dan diakses dari kelas R.layout.
menu /
XML yang mendefinisikan menu aplikasi, seperti menu Options, Context Menu, atau Sub Menu. Mereka disimpan di res / menu / dan diakses dari kelas R.menu.
raw /
file Sewenang untuk menyimpan dalam bentuk mentah. Anda perlu memanggil Resources.openRawResource () dengan ID sumber daya, yang R.raw.filename untuk membuka file mentah tersebut.
values /
file XML yang berisi nilai-nilai sederhana, seperti string, integer, dan warna. Sebagai contoh, berikut adalah beberapa konvensi nama file untuk sumber daya yang Anda dapat membuat dalam direktori ini -
arrays.xml untuk array sumber daya, dan diakses dari kelas R.array.
integers.xml untuk bilangan bulat sumber daya, dan diakses dari kelas R.integer.
bools.xml untuk boolean sumber daya, dan diakses dari kelas R.bool.
colors.xml untuk nilai warna, dan diakses dari kelas R.color.
dimens.xml untuk nilai dimensi, dan diakses dari kelas R.dimen.
strings.xml untuk nilai string, dan diakses dari kelas R.string.
styles.xml untuk gaya, dan diakses dari kelas R.style.
xml / file XML Sewenang yang dapat dibaca pada saat runtime dengan memanggil Resources.getXML (). Anda dapat menyimpan berbagai file konfigurasi di sini yang akan digunakan pada waktu berjalan.
Sumber alternatif
Aplikasi Anda harus menyediakan sumber daya alternatif untuk mendukung konfigurasi perangkat tertentu. Misalnya, Anda harus menyertakan sumber ditarik alternatif (ieimages) untuk resolusi layar yang berbeda dan sumber daya alternatif string bahasa yang berbeda. Pada runtime, Android mendeteksi konfigurasi perangkat saat ini dan beban sumber daya yang tepat untuk aplikasi Anda.
Untuk menentukan alternatif spesifik-konfigurasi untuk satu set sumber daya, ikuti langkah-langkah berikut -
Membuat direktori baru di res / bernama dalam bentuk <resources_name> - <config_qualifier>. Berikut resources_name akan ada sumber daya yang disebutkan dalam tabel di atas, seperti tata letak, ditarik dll kualifikasi akan menentukan konfigurasi individu yang sumber daya tersebut akan digunakan. Anda dapat memeriksa dokumentasi resmi untuk daftar lengkap kualifikasi untuk berbagai jenis sumber daya.
Menghemat sumber daya masing-masing alternatif dalam direktori baru ini. File sumber daya harus dinamai persis sama dengan file sumber daya standar seperti yang ditunjukkan di bawah ini misalnya, tetapi file-file ini akan memiliki konten khusus untuk alternatif. Misalnya meskipun gambar nama file yang akan sama tetapi untuk layar resolusi tinggi, resolusi akan tinggi.
Berikut adalah contoh yang menentukan gambar untuk layar default dan gambar alternatif untuk layar resolusi tinggi.
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
Di bawah ini adalah contoh lain yang menentukan tata letak untuk bahasa default dan tata letak alternatif untuk bahasa Arab.
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
mengakses Sumber Daya
Selama pengembangan aplikasi Anda, Anda akan perlu untuk mengakses sumber daya didefinisikan baik dalam kode Anda, atau di file XML tata letak Anda. Bagian berikut menjelaskan cara mengakses sumber daya Anda di kedua skenario -
Mengakses Sumber Daya di Kode
Ketika aplikasi Android Anda dikompilasi, kelas R akan dihasilkan, yang berisi ID sumber daya untuk semua sumber daya yang tersedia di res / direktori Anda. Anda dapat menggunakan kelas R untuk mengakses sumber daya menggunakan sub-direktori dan nama sumber daya atau langsung sumber daya ID.
contoh
Untuk mengakses res / ditarik / myimage.png dan menetapkan ImageView Anda akan menggunakan kode berikut:
ImageView imageView = (ImageView) findViewById(R.id.myimageview); imageView.setImageResource(R.drawable.myimage);
Berikut baris pertama penggunaan kode make dari R.id.myimageview untuk mendapatkan ImageView didefinisikan dengan id myimageview dalam file Layout. Baris kedua kode memanfaatkan R.drawable.myimage untuk mendapatkan gambar dengan nama myimage tersedia di ditarik sub-direktori di bawah / res.
contoh
Pertimbangkan contoh berikut mana res / values / strings.xml memiliki berikut definisi:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello, World!</string> </resources>
Sekarang Anda dapat mengatur teks pada objek TextView dengan ID msg menggunakan ID sumber daya sebagai berikut:
TextView msgTextView = (TextView) findViewById(R.id.msg); msgTextView.setText(R.string.hello);
contoh
Mempertimbangkan tata letak res / layout / activity_main.xml dengan definisi berikut:
<?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" /> </LinearLayout>
Kode aplikasi ini akan memuat tata letak ini untuk suatu kegiatan, dalam OnCreate () metode sebagai berikut -
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); }
Mengakses Sumber Daya dalam XML
Mempertimbangkan sumber daya berikut XML res / nilai berkas / strings.xml yang mencakup sumber daya warna dan sumber daya string -
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="opaque_red">#f00</color> <string name="hello">Hello!</string> </resources>
Sekarang Anda dapat menggunakan sumber daya ini dalam tata letak file berikut untuk mengatur warna teks dan teks string sebagai berikut:
<?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" />
Sekarang jika Anda akan pergi melalui bab sebelumnya sekali lagi di mana saya telah menjelaskan Hello World! Misalnya, dan saya yakin Anda akan memiliki pemahaman yang lebih baik pada semua konsep yang dijelaskan dalam bab ini. Jadi saya sangat merekomendasikan untuk memeriksa bab sebelumnya misalnya bekerja dan memeriksa bagaimana saya telah menggunakan berbagai sumber daya pada tingkat yang sangat dasar.
Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck.
ReplyDeleteAndroid Training in chennai | Android Training