2015-03-07 9 views
1

Я создаю приложение, содержащее викторину. Как только пользователь завершит викторину, пользователю будет показана активность, где он вычисляет свой общий балл как 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()); 

     } 

     } 

Не уверен, что если я использую правильный подход здесь, пожалуйста, бесплатно, чтобы предложить мне, как достичь того, чего я хочу, или альтернативы этот подход.

+0

Вы пытаетесь прочитать строку из файла с 'reader.readLine()', который возвращает строку. Но в вашем файле нет строковых строк, потому что вы только написали четыре байта своего целого числа. Так что напишите строку String as. Вы можете использовать 'out.writeLine (String.valueOf (finalScore))'; – greenapps

+0

Можете ли вы предложить мне реализацию, чтобы получить общее представление о том, что делать, пожалуйста? – cmario

+0

Все, что вам нужно сделать, это использовать эту строку вместо оригинальной записи(). – greenapps

ответ

Смежные вопросы