Android 从文本文件中检索值
我正在构建一个包含测验的应用程序。用户完成测验后,将向用户显示一个活动,该活动以Android 从文本文件中检索值,android,text-files,storage,Android,Text Files,Storage,我正在构建一个包含测验的应用程序。用户完成测验后,将向用户显示一个活动,该活动以TextView的形式计算其总分。我想在这里实现的是存储测验结束时向用户显示的TextView值(包含分数),但也在另一个名为“显示所有高分的位置”的活动中显示该值存储。我相信我正在存储该值,**但我无法在我的总scroe活动中看到它(而不是检索它)**这在两个活动中都已初始化 private final static String storeHighscores="storeHighscores.txt";
TextView
的形式计算其总分。我想在这里实现的是存储测验结束时向用户显示的TextView值(包含分数),但也在另一个名为“显示所有高分的位置”的活动中显示该值存储。我相信我正在存储该值,**但我无法在我的总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());
}
}
不确定我是否在这里使用了正确的方法,请随意建议我如何实现我想要的,或者这种方法的替代方案 使用SharedReference似乎更适合此任务 见此帖:
文档:您尝试使用返回字符串的
reader.readLine()
从文件中读取一行。但是文件中没有字符串行,因为您只将整数的四个字节写入其中。所以也写一个字符串作为行。您可以使用out.writeLine(String.valueOf(finalScore));你能建议我一个实现来大致了解该做什么吗?你所要做的就是使用那一行而不是原来的write()。当用建议的方法替换out.writeLine()方法时,我得到了这个错误“类型OutputStreamWriter的方法writeLine(String)未定义”是的。你必须使你的保存代码更像阅读代码。您使用了BufferedReader.readLine()。因此,等效的方法是添加一个BufferedWriter。这是writeLine()。