2014-01-11 96 views
0

我已經爲我的android應用編寫了一個網絡庫,並且我希望能夠訪問我在該庫中定義的strings.xml文件中的url值。問題是圖書館不是一個活動或片段或類似的東西,所以它不能訪問正常的上下文或作爲一流Android公民獲得你的其他東西。有沒有辦法讓我在沒有Context的情況下訪問這個值(或者在Activity和Fragments的函數調用中沒有傳入)?訪問庫中的strings.xml值

我知道,我可以很容易地訪問R類,但所有這給了我是字節偏移 - 我需要getString()方法把該偏移有意義的事情,除非我想要做很多有趣的原始字節地嬉戲(我想避免)。

謝謝!

回答

1

不,沒有,並且手動解析低級別數據絕對不是解決方案。整個資源點將根據被檢索到到上下文限定(因此是強大的限定符系統),這就是爲什麼我在你剛剛提出的另一個問題中提出了這個建議。 :-)

除非您提供了一種方法(例如方法參數),否則您將無法檢索資源。您應該重新思考您的庫的架構:爲什麼您需要的URI是合格的?如果您在圖書館,客戶端應用程序將擁有自己的上下文,並可以安全地向您的圖書館提供一個,從而檢索資源。如果這不是重點(即,訪問代碼中的URI),那麼您應該不使用資源,而是使用最終的靜態變量,就像我所建議的那樣。

在處理URI時,有些情況下您可以從限定符功能中受益,但正如我所說的,如果您只在庫上使用,則可能需要代碼中定義的變量。

+0

好吧,聽起來不錯;謝謝! – joshlf

+0

不客氣。我很高興我能幫上忙! – davidcesarino