以下方法正在运行,但现在它没有将我的整数写入文件。
public void writeChpNum(int num) {
SharedPreferences prefs = context.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
prefs.edit().putInt("chapter", num).apply();
}
这就是我从Main class获得的:
SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
chapterNum = prefs.getInt("chapter", 1);
方法在这种情况下不起作用:
writeChpNum(1);
writeLastLine("0");
boolean deleted = file.delete();
boolean deleted2 = file2.delete();
boolean deleted3 = file3.delete();
boolean deleted4 = last.delete();
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(1);
在这里,我想重新启动所有内容并退出,所以我要删除文件,但是对于章节我只需要写“1” - 章节。但是,它没有写。
这是因为我要退出应用程序吗?
答案 0 :(得分:0)
当您像这样访问其他活动时,它们将无法在其他活动中使用。如果要将此方法仅写入一个类,请尝试在方法中传递上下文。 make method static,因此您不需要创建活动对象。
修改
根据您退出应用的新代码,您需要commit()
而不是apply()
参考:https://developer.android.com/reference/android/content/SharedPreferences.Editor.html#apply()
public static void writeChpNum(Context c, int num) {
SharedPreferences prefs = c.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
prefs.edit().putInt("chapter", num).commit() ;
}