您好,感謝您的閱讀。(Android)使用SharedPreferences寫入/讀取非活動類時出錯
我想採用OOP方法來使用SharedPreferences來保存和檢索我正在工作的Android應用程序中的數據。我相信下面的代碼是正確的,因爲它直接在非OOP莊園中使用時可以在Java類中工作。然而,在我所做的這個SharedPref類中,我在MODE_PRIVATE的Eclipse中出現了一個錯誤,我找不到原因。謝謝。
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
public class SharedPref {
public static String File = "DPFile";
public static void saveToSP(String key, String value) {
SharedPreferences saveData = getSharedPreferences(File, MODE_PRIVATE);
SharedPreferences.Editor editor = saveData.edit();
editor.putString(key, value);
editor.commit();
}
public static String getSavedData(String key) {
SharedPreferences preferences = getSharedPreferences(File, MODE_PRIVATE);
return preferences.getString(key, null);
}
}
此外,如果我延伸Activity類getSharedPreferences變得與錯誤的行和下面的消息:
「不能使靜態參考非靜態方法getSharedPreferences(字符串,整數)從類型ContextWrapper」
感謝您的回覆。你能詳細說明什麼是背景嗎?在保存數據時,我應該儘可能發送上下文? getSavedData會保持不變嗎? –
該文檔將其稱爲「有關應用程序環境的全局信息的接口」。基本上它是Android系統管理的入口點。你也需要修改getSavedData,但你應該可以很容易地做到這一點給我的例子:) – theelfismike
我想我可以管理修改getSavedData方法,但一個例子,你會傳遞作爲上下文將非常有用。再次感謝。 –