2017-06-12 10 views
0

Ich mache eine App, wo ich meine Schule Gleichgewicht eingestellt habe und kann bestimmte Tasten drücken, um bestimmte Beträge abzunehmen, je nachdem, was ich kaufe. Ich habe Probleme mit dem Gleichgewicht. Ich habe eine Möglichkeit, es zu aktualisieren, was ich will, aber nach dem Beenden der Anwendung möchte ich, dass es in einem TextView gleich bleibt. Ich konnte es bisher mit Hilfe eines Videos in eine Datei speichern, oder zumindest hoffe ich es.Wie lese ich eine Textdatei beim Öffnen einer App?

Wie konnte ich beim Öffnen der App die Textdatei lesen und den TextView gleich dem in der Datei einstellen?

submitBtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String submitAmount = amountEnter.getText().toString(); 
      balance.setText(submitAmount); 

      String myBalance = balance.getText().toString(); 

      try { 
       FileOutputStream fou = openFileOutput("balance.txt", 
MODE_WORLD_READABLE); 
       OutputStreamWriter osw = new OutputStreamWriter(fou); 
       try { 

        osw.write(myBalance); 
        osw.flush(); 
        osw.close(); 

       } catch (IOException e) { 
        e.printStackTrace(); 
       } 

      } catch (FileNotFoundException e) { 
       e.printStackTrace(); 
      } 

     } 
    }); 
+1

Sie verwenden könnten 'SharedPreference' speichern Sie Ihre Daten. Hier ist die offizielle Android-Dokumentation: [SharedPreference] (https://developer.android.com/training/basics/data-storage/shared-preferences.html) – Pulak

+0

Wo befindet sich Ihre Datei? SD-Karte oder interner Speicher? –

+0

Das Speichern von Daten in einer Datei kann gefährlich sein, da die Datei verschoben oder gelöscht werden kann (oder schlimmer). Erwägen Sie SharedPreferences – Thecave3

Antwort

1

hilft Sie es in SharedPrefs speichern es

submitBtn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     String submitAmount = amountEnter.getText().toString(); 
     balance.setText(submitAmount); 
PreferenceManager.getDefaultSharedPreferences(getApplicationContext()). 
edit().putString("balance", submitAmount).commit(); 

    } 
}); 

ändern, und Sie können es von

String balance=PreferenceManager.getDefaultSharedPreferences(getApplicationContext()) 
.getString("balance","nothing_there"); 
+0

Dies sollte die richtige Antwort sein – Thecave3

1

Code sehen, nehme ich an, dass Sie wissen, wie eine Datei in Android lesen/schreiben. Wenn nicht, dann sehen Sie es von hier aus. https://stackoverflow.com/questions/12421814/how-can-i-read-a-text-file-in-android/ Sie können den folgenden Code versuchen. Die Readfile-Methode stammt von der oberen Verknüpfung. Sie müssen nur die bestimmte Zeile/Zeichenfolge aus der Datei bei OnCreate-Methode der Aktivität lesen. Holen Sie sich die Referenz Ihres gewünschten TextView und setzen Sie den Text wie unten beschrieben auf TextView. Ich hoffe, dass es Ihnen

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.your_layout); 
     String texts = readfile(); 
     TextView textView = findViewById(R.id.text_view); 
     textView.setText(text); 


} 

private String readfile() { 
    File sdcard = Environment.getExternalStorageDirectory(); 
    File file = new File(sdcard, "file.txt"); 
    StringBuilder text = new StringBuilder(); 

    try { 
     BufferedReader br = new BufferedReader(new FileReader(file)); 
     String line; 

     while ((line = br.readLine()) != null) { 
      text.append(line); 
      text.append('\n'); 
     } 
     br.close(); 
    } catch (IOException e) { 
     //You'll need to add proper error handling here 
    } 

    return text.toString(); 
} 
Verwandte Themen