提前谢谢..!
我正在开发一个android应用程序。在我的应用程序中,我想将ID存储在共享首选项中
SharedPreferences myPrefs = getSharedPreferences("myPrefs", MODE_PRIVATE);
SharedPreferences.Editor editor = myPrefs.edit();
editor.putString("MEM1", getTrackID);
editor.commit();
基于该ID,我想在应用程序中重定向主页,这也很好。
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_PRIVATE);
String username = myPrefs.getString("MEM1","");
if(username.equalsIgnoreCase("")||username.length()==0) {
Intent sessionIntent = new Intent(MainActivity.this,Dashboard.class);
startActivity(sessionIntent);
finish();
}
现在我要进入Dashboard类,在该类中,共享的首选项值将返回为null。 我想获取该ID,该ID优先于我的应用程序的进一步处理。有人可以帮我吗?
SharedPreferences myPrefs = getSharedPreferences("myPrefs", MODE_PRIVATE);
String username = myPrefs.getString("MEM1","");
Log.e(TAG, "TRackNoShared: " + username);
答案 0 :(得分:1)
我通常创建一个扩展Application进行全局配置的类。在课堂上,我在下方添加
public class MyApplication extends Application {
private static MyApplication sInstance;
public static MyApplication getInstance() {
return sInstance;
}
public static Context getAppContext() {
return sInstance.getApplicationContext();
}
public static void saveToPreferences(String preferenceName, String preferenceValue) {
SharedPreferences sharedPreferences = getAppContext().getSharedPreferences(PREF_KEY, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(preferenceName, preferenceValue);
editor.apply();
}
public static String readFromPreferences(String preferenceName, int defaultValue) {
SharedPreferences sharedPreferences = getAppContext().getSharedPreferences(PREF_KEY, Context.MODE_PRIVATE);
return sharedPreferences.getString(preferenceName, defaultValue);
}
}
然后在清单中添加<application android:name=".MyApplication"
然后我可以从任何地方打电话给MyApplication.saveToPreferences(KEY, VALUE)
并取回MyApplication.readFromPreference(KEY, Default Value)
。
好东西是您可以重载方法,并具有整数和布尔类型等