Android Studio-保存用户数据
我想保存一个文件“xp.txt”,以跟踪用户在游戏中的体验。如果文件不存在,我想创建它并在文件中写入“0”(表示0)。如果文件存在,我希望从中读取并将exp保存到java类中的int变量。我还想知道如何将值从“0”改为其他值 提前谢谢 我目前的代码是:Android Studio-保存用户数据,android,android-studio,Android,Android Studio,我想保存一个文件“xp.txt”,以跟踪用户在游戏中的体验。如果文件不存在,我想创建它并在文件中写入“0”(表示0)。如果文件存在,我希望从中读取并将exp保存到java类中的int变量。我还想知道如何将值从“0”改为其他值 提前谢谢 我目前的代码是: try { OutputStreamWriter out = new OutputStreamWriter(openFileOutput(XP, 0)); out.write("0");
try {
OutputStreamWriter out = new OutputStreamWriter(openFileOutput(XP, 0));
out.write("0");
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
InputStream in = openFileInput(XP);
if (in != null) {
InputStreamReader temp = new InputStreamReader(in);
BufferedReader reader = new BufferedReader(temp);
String str;
StringBuilder buf = new StringBuilder();
while ((str = reader.readLine()) != null) {
xp = Integer.parseInt(str);
System.out.println(xp);
}
in.close();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
但是我找不到文本文件,并且它不能按我的预期工作。您可以使用以下方法存储数据
SharedReferences
会很好。一个简单的例子是
保存值:
SharedPreferences.Editor editor = getSharedPreferences("unique_name", MODE_PRIVATE).edit();
editor.putInt("xp", 10);
editor.commit();
检索值
SharedPreferences prefs = getSharedPreferences("unique_name", MODE_PRIVATE);
int xp = prefs.getInt("xp", 0); // will return 0 if no value is saved
您可以从中了解更多信息。为什么不使用共享首选项或内容提供商来实现这一点?它们是什么?如何设置?