在Android實用程序類中,我想在類中獲取系統首選項值,但是我沒有上下文,因爲調用它的類沒有上下文。我發現對於資源,可以使用靜態Resources.getSystem()
函數。有沒有類似的方式獲得沒有上下文的系統偏好?在沒有任何上下文的情況下獲取Android的系統首選項
我的課程不是一項活動或服務。這是一個實用課程。如果需要,可以提供更多信息。
在Android實用程序類中,我想在類中獲取系統首選項值,但是我沒有上下文,因爲調用它的類沒有上下文。我發現對於資源,可以使用靜態Resources.getSystem()
函數。有沒有類似的方式獲得沒有上下文的系統偏好?在沒有任何上下文的情況下獲取Android的系統首選項
我的課程不是一項活動或服務。這是一個實用課程。如果需要,可以提供更多信息。
你必須發送一個上下文 - 不要試圖逃避你的責任。 :)您的實用程序類必須由某個級別的Activity或Service調用,並且您將通過每個方法調用將該Context全部傳遞到該行。我知道這很煩人,我不得不親自做類似的事情。考慮它是保持代碼簡單的動機,並且需要儘可能少的方法調用來完成某些事情。
我使用下面的技巧:http://www.hasemanonmobile.com/2009/10/05/quick-and-very-dirty-android-development-trick/
基本上你藏掀起了上下文指針爲您的活動中的靜態變量。如果你在緊急的期限內,我只會推薦這個醜陋的黑客。另外,如果你正在編寫一個工具類,你可能需要(和很多Android工具一樣需要)調用應用程序爲你的構造函數提供一個上下文。
認爲這是一個鏈接腐爛那裏:) – t0mm13b 2013-03-22 17:25:18
您可以創建一個情境:
Context myContext = createPackageContext("com.example", 0);
請添加評論,當你downvote這個答案。所以我們可以瞭解爲什麼這不是一個好的解決方案。 – kuester2000 2010-10-26 15:05:34
'createPackageContext()'是'Context'上的一個非靜態方法,因此您需要有一個'Context'來調用它。他的問題是,如果你想要做的就是訪問系統資源,他不想要你在任何地方傳遞一個上下文對象。 – 2011-04-04 01:40:14
出於好奇,我現在是在完全相同的情況下,你。對於你最終決定的事情,你有什麼想法? – camperdave 2010-10-21 06:26:17