我正在构建一个包含测验的应用程序。用户完成测验后,会向用户显示一个活动,并将其总得分计算为TextView
。我想在这里实现的是在测验结束时(包含分数)存储显示给用户的TextView值,还显示值存储在另一个调用所有Highscores的活动中。我相信我存储了这个值,**但是在我的总scroe活动中我看不到它(没有检索它)**这在两个活动中初始化
private final static String storeHighscores="storeHighscores.txt";
测验活动后的摘要。 变量名为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活动
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());
}
}
不确定我是否在这里使用正确的方法,请自由地建议我如何实现我想要的,或者这种方法的替代方案。
答案 0 :(得分:1)
似乎使用SharedPreferences会更适合这项任务。
请参阅此帖子:Saving high scores in Android game - Shared Preferences
文档:http://developer.android.com/reference/android/content/SharedPreferences.html