我正在構建一個Android應用程序,並且從string.xml獲取資源時遇到問題。無法從android應用程序獲取資源
我需要有一個URL在String.xml
,將通過應用程序多次使用。我試過Resources.getText("my_url")
,但這不起作用。 Eclipse使用這個時抱怨。
您認爲這是最好的方法嗎?
我正在構建一個Android應用程序,並且從string.xml獲取資源時遇到問題。無法從android應用程序獲取資源
我需要有一個URL在String.xml
,將通過應用程序多次使用。我試過Resources.getText("my_url")
,但這不起作用。 Eclipse使用這個時抱怨。
您認爲這是最好的方法嗎?
你可能想要的是:
String myUrl = getString(R.string.my_url);
的getString()
method is in Context
這意味着它可以直接在您的Activity
類,因爲Activity
是Context
一個子類。 (該getString()
方法也是Resources
但它更容易直接就可以叫上你的Activity
)
與XML資源會發生什麼情況是,每一個被賦予一個唯一的整數ID,這被添加到automatically generated R
class作爲public static final int
。然後,您使用這些ID來引用資源。查看Eclipse項目中的gen
文件夾,您會發現裏面有R
類。
您是否曾經轉介此頁:https://developer.android.com/guide/topics/resources/available-resources.html?
如果要檢索由資源ID表示的字符串,可以調用Context.getString()
方法。
或者,您必須發佈Eclipse的抱怨。
非常感謝,這是我正在使用的。問候,呂克 – Luc 2010-01-28 09:52:23
謝謝,我會檢查這一點。但是,如果我想在Activity之外獲得這個字符串(例如在助手類中),我可以使用GetBaseContext()。getString(key)嗎? – Luc 2010-01-27 10:27:04
我不知道什麼'GetBaseContext()'是我害怕的。我給每個幫助類傳遞一個'Context'來讓他們做這樣的事情。但是,當你這樣做時要小心,因爲如果你堅持引用上下文,你可能會非常糟糕地泄漏內存。 http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html – 2010-01-27 10:51:52
謝謝,這是一個很好的觀點和一篇非常好的文章。歡呼聲,Luc – Luc 2010-01-27 14:29:15