摘要:Android - get SharedPreferences without Context
因為偏號設定,設要SharedPreferences ,
他運用的方式,通常是使用者自訂,或一些cache資料。
不過稍微特別的是,取得SharedPreferences 需要使用
SharedPreferences pref = ctx.getSharedPreferences(SHARE_PREF_NAME, Context.MODE_PRIVATE);
麻煩的事,有些共用元件,通常不會包住context進去,
這ctx,又是需要的,該怎麼辦。
很好,竟然還有解答
參考如下連結
http://stackoverflow.com/questions/2002288/static-way-to-get-context-on-android
需要建立Application
並在Application加入以下程式碼
public class MyApplication extends Application{
private static Context context;
public void onCreate(){
super.onCreate();
MyApplication.context = getApplicationContext();
}
public static Context getAppContext() {
return MyApplication.context;
}
}
在Android Manifest.xml加入
<application android:name="com.xyz.MyApplication">
</application>
這時改寫取得Share
SharedPreferences pref = MyApplication.getAppContext().getSharedPreferences(SHARE_PREF_NAME, Context.MODE_PRIVATE);
就可以了。