Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Mengakses Sumber Android dengan Nama Daripada ID?

Bagaimanakah Saya Boleh Mengakses Sumber Android dengan Nama Daripada ID?

Linda Hamilton
Lepaskan: 2024-12-27 12:54:16
asal
807 orang telah melayarinya

How Can I Access Android Resources by Name Instead of ID?

Mengakses Sumber mengikut Nama dalam Android

Apabila membangunkan aplikasi Android, selalunya perlu untuk mengakses sumber seperti rentetan, boleh lukis dan reka letak. Walaupun adalah perkara biasa untuk menggunakan ID integer sumber, mungkin terdapat situasi di mana mengaksesnya dengan namanya lebih diutamakan.

Kaedah untuk Mendapatkan ID Sumber dengan Nama

Android rangka kerja menyediakan kaedah untuk mendapatkan semula ID sumber yang diberikan nama:

int resourceId = this.getResources()
    .getIdentifier("nameOfResource", "type", this.getPackageName())
Salin selepas log masuk

Di mana:

  • ini mewakili objek Aktiviti atau Konteks.
  • nameOfResource ialah nama sumber seperti yang ditakrifkan dalam fail sumber masing-masing (cth. , strings.xml untuk rentetan).
  • jenis ialah jenis sumber, seperti boleh lukis untuk imej atau rentetan untuk teks.
  • getPackageName() mendapatkan semula nama pakej aplikasi anda.

Contoh Penggunaan

Untuk mengakses rentetan sumber bernama "app_name" dalam strings.xml fail:

int stringId = this.getResources()
    .getIdentifier("app_name", "string", this.getPackageName());
String appName = this.getString(stringId);
Salin selepas log masuk

Begitu juga, untuk mengakses sumber boleh lukis bernama "image.png" dalam folder boleh lukis:

int drawableId = this.getResources()
    .getIdentifier("image", "drawable", this.getPackageName());
Drawable drawable = this.getDrawable(drawableId);
Salin selepas log masuk

Pertimbangan Prestasi

Adalah penting untuk ambil perhatian bahawa mengakses sumber dengan nama menggunakan getIdentifier() adalah agak perlahan berbanding dengan menggunakan ID integer secara langsung. Oleh itu, adalah disyorkan untuk hanya menggunakan kaedah ini apabila perlu, seperti apabila pemuatan sumber dinamik diperlukan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Sumber Android dengan Nama Daripada ID?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan