首頁 >Java >java教程 >如何有效率地取得Android資源ID及其對應字串?

如何有效率地取得Android資源ID及其對應字串?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-31 17:49:10850瀏覽

How Can I Efficiently Retrieve Android Resource IDs and Their Corresponding Strings?

如何從Android資源檔案取得資源ID和字串?

在Android開發中,需要將資源ID傳遞給方法班級內。通常,開發人員需要 ID 和與該資源關聯的相應字串。使用影像可繪製物件時會出現這種情況的常見範例。

考慮資源 ID R.drawable.icon,它代表圖示影像。要同時利用ID 和字串“圖示”,可以探索各種方法:

一種解決方案涉及使用Resources.getIdentifier() 方法:

int resId = getResources().getIdentifier("icon", "drawable", packageName);

此處為getResources( )指上下文對象,packageName 是應用程式的套件名稱,「icon」表示字串識別碼。但是,此方法可能相對較慢,特別是在啟用了程式碼/資源收縮的發布版本中。

另一種方法是使用反射來存取所需的資源字段:

Class resClass = R.drawable.class;
Field field = resClass.getDeclaredField("icon");
int id = field.getInt(null);

這方法直接存取資源字段,比以前的方法提供更快的效能。但是,當資源收縮或資源名稱與字串識別碼不同時,它可能會遇到問題。

其他注意事項:

使用反射時,請務必注意程式碼/資源縮減可能會使該方法在發布版本中無效。此外,某些資源(例如使用 定義的字串)可能沒有與實際字串識別碼相對應的欄位名稱。

以上是如何有效率地取得Android資源ID及其對應字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn