Rumah >Java >javaTutorial >Bagaimana untuk Mendapatkan Sumber Android dengan Nama Menggunakan `getIdentifier()`?

Bagaimana untuk Mendapatkan Sumber Android dengan Nama Menggunakan `getIdentifier()`?

Barbara Streisand
Barbara Streisandasal
2024-12-21 16:56:14740semak imbas

How to Retrieve Android Resources by Name Using `getIdentifier()`?

Pencapaian Sumber Mengikut Nama

Mengakses sumber seperti Strings atau Drawable menggunakan nama mereka dan bukannya ID integer mereka memberikan lebih fleksibiliti dalam pembangunan aplikasi. Untuk mencapai ini, kaedah getIdentifier() daripada kelas Resources digunakan.

Sintaks untuk getIdentifier() ialah:

int getIdentifier(String name, String defType, String defPackage)

Di mana:

  • nama ialah nama sumber, tanpa awalan jenis sumber (mis., "myString")
  • defType ialah jenis sumber, seperti "drawable" atau "string"
  • defPackage ialah nama pakej di mana sumber ditakrifkan

Contohnya, untuk mendapatkan ID sumber Boleh Dilukis untuk imej bernama "my_image.png":

int drawableResourceId = this.getResources().getIdentifier("my_image", "drawable", this.getPackageName());

Begitu juga, untuk mendapatkan ID sumber String untuk nilai bernama "welcome_text":

int stringResourceId = this.getResources().getIdentifier("welcome_text", "string", this.getPackageName());

Perhatikan bahawa mendapatkan ID sumber dengan cara ini boleh lebih perlahan daripada menggunakan ID integer secara langsung. Oleh itu, ia harus digunakan dengan bijak apabila nama sumber adalah dinamik atau memerlukan akses program.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Sumber Android dengan Nama Menggunakan `getIdentifier()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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