我正在構建一個包含SharedPreferences
的Android項目。SharedPreferences在android程序中產生強制關閉
我的SharedPreferences
工作正常,我在多項活動中測試它。但是在我爲全局變量定義的類中,定義SharedPreferences
將導致關閉力(日食沒有在代碼中顯示任何錯誤)。
public class Globals extends Application {
final SharedPreferences s = getSharedPreferences("Prefs", MODE_PRIVATE);
}
什麼問題?
SharedPreferences只能從上下文來獲得。所以它需要'context.getSharedPreferences(「Prefs」,Context.MODE_PRIVATE);'你的類對Context沒有任何的瞭解 - 這是問題。您需要在方法中或通過構造函數傳遞Context變量作爲參數。 – Sajmon
我改變了它:final SharedPreferences s = this.getSharedPreferences(「Prefs」,MODE_PRIVATE);但仍然產量逼近。 – user3077909
你不能使用這個,因爲你不在活動(活動從Context延伸出於這個原因,你可以使用或不)。您需要顯式傳遞Context作爲參數或方法或構造函數。沒有其他方式如何做到這一點。 – Sajmon