Я создаю приложение, содержащее викторину. Как только пользователь завершит викторину, пользователю будет показана активность, где он вычисляет свой общий балл как TextView
. То, что я хочу достичь здесь, - это сохранить значение TextView, указанное пользователю в конце викторины (содержащее оценку), но также показать, что значение хранится в другом действии, где отображаются все рекорды. Я считаю, что я храню значение **, но я не могу видеть его в своей общей scroe деятельности (не получение его) ** Это инициализируется в обоих мероприятияхИзвлечение значения из текстового файла
private final static String storeHighscores="storeHighscores.txt";
Резюме после викторины деятельности. переменная называется finalscore, внутр
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());
}
}
Не уверен, что если я использую правильный подход здесь, пожалуйста, бесплатно, чтобы предложить мне, как достичь того, чего я хочу, или альтернативы этот подход.
Вы пытаетесь прочитать строку из файла с 'reader.readLine()', который возвращает строку. Но в вашем файле нет строковых строк, потому что вы только написали четыре байта своего целого числа. Так что напишите строку String as. Вы можете использовать 'out.writeLine (String.valueOf (finalScore))'; – greenapps
Можете ли вы предложить мне реализацию, чтобы получить общее представление о том, что делать, пожалуйста? – cmario
Все, что вам нужно сделать, это использовать эту строку вместо оригинальной записи(). – greenapps