如何從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中文網其他相關文章!