从文本文件中检索值
Retrieving a value from a text file
我正在构建一个包含测验的应用程序。一旦用户完成测验,就会向用户显示 activity,并在其中计算他的总分 TextView
。我想在这里实现的是存储在测验结束时向用户显示的 TextView 值(包含分数),而且还显示该值存储在另一个 activity 调用中,其中显示所有高分。我相信我正在存储值,**但我在我的总 scroe 中看不到它 activity(不是检索它)**这在两个活动中都已初始化
private final static String storeHighscores="storeHighscores.txt";
测验后总结activity。
该变量称为 finalscore,int
finalScore = timeLeft * QuizActivity.correct;
try {
OutputStreamWriter out = new OutputStreamWriter(openFileOutput(storeHighscores, 0));
out.write(finalScore);
out.close();
Toast.makeText(this, "The contents are saved in the file.", Toast.LENGTH_LONG).show();
}
catch (Throwable t) {
Toast.makeText(this, "Exception: "+t.toString(), Toast.LENGTH_LONG).show();
}
TotaScore Activity
try {
InputStream in = openFileInput(storeHighscores);
if (in != null) {
InputStreamReader tmp=new InputStreamReader(in);
BufferedReader reader=new BufferedReader(tmp);
String str;
StringBuilder buf=new StringBuilder();
while ((str = reader.readLine()) != null) {
buf.append(str);
}
in.close();
easy.setText(buf.toString());
}
}
不确定我在这里使用的方法是否正确,请随意建议我如何实现我想要的,或者这种方法的替代方法。
似乎使用 SharedPreferences 更适合这个任务。
看到这个post:Saving high scores in Android game - Shared Preferences
文档:http://developer.android.com/reference/android/content/SharedPreferences.html
我正在构建一个包含测验的应用程序。一旦用户完成测验,就会向用户显示 activity,并在其中计算他的总分 TextView
。我想在这里实现的是存储在测验结束时向用户显示的 TextView 值(包含分数),而且还显示该值存储在另一个 activity 调用中,其中显示所有高分。我相信我正在存储值,**但我在我的总 scroe 中看不到它 activity(不是检索它)**这在两个活动中都已初始化
private final static String storeHighscores="storeHighscores.txt";
测验后总结activity。 该变量称为 finalscore,int
finalScore = timeLeft * QuizActivity.correct;
try {
OutputStreamWriter out = new OutputStreamWriter(openFileOutput(storeHighscores, 0));
out.write(finalScore);
out.close();
Toast.makeText(this, "The contents are saved in the file.", Toast.LENGTH_LONG).show();
}
catch (Throwable t) {
Toast.makeText(this, "Exception: "+t.toString(), Toast.LENGTH_LONG).show();
}
TotaScore Activity
try {
InputStream in = openFileInput(storeHighscores);
if (in != null) {
InputStreamReader tmp=new InputStreamReader(in);
BufferedReader reader=new BufferedReader(tmp);
String str;
StringBuilder buf=new StringBuilder();
while ((str = reader.readLine()) != null) {
buf.append(str);
}
in.close();
easy.setText(buf.toString());
}
}
不确定我在这里使用的方法是否正确,请随意建议我如何实现我想要的,或者这种方法的替代方法。
似乎使用 SharedPreferences 更适合这个任务。
看到这个post:Saving high scores in Android game - Shared Preferences
文档:http://developer.android.com/reference/android/content/SharedPreferences.html