Hallo,
ich habe meine erste App geschrieben und erwartungsgemäß damit auch Problem. Vielleicht kann mir hier jemand helfen.
Die App wertet eine Textdatei mit Personen- und Ereignis bezogene Daten aus. In Jeder Zeile dieser Textdatei steht
- eine Kennung für das auszuwertende Ereignis (Geburts-, Namens- oder Hochzeitstag),
- das Datum für das Ereignis und
- der bzw. die Namen der jeweiligen Person.
Ein Javaprogramm erstellt für die Ausgabe einen Textstring aller Ereignisse für die nächsten 14 Tage. Dieser Textstring wird von der App ausgegeben.
Das alles funktioniert einwandfrei. Die Ausgabe könnte zum Beispiel so aussehen:
Hans hat am 01.02. Geburtstag
und wird 78 - Nur noch 6 Tage!
Monika hat am 03.02. Namenstag,
nur noch 8 Tage!
Wird diese im Hintergrund noch aktive App allerdings ein weiteres Mal aufgerufen, dann bekomme ich folgende Anzeige:
Hans hat am 01.02. Geburtstag
und wird 78 - Nur noch 6 Tage!
Hans hat am 01.02. Geburtstag
und wird 78 - Nur noch 6 Tage!
Hans hat am 01.02. Geburtstag
und wird 78 - Nur noch 6 Tage!
Monika hat am 03.02. Namenstag,
nur noch 8 Tage!
Monika hat am 03.02. Namenstag,
nur noch 8 Tage!
Monika hat am 03.02. Namenstag,
nur noch 8 Tage!
Nur nach jedem weiteren Aufruf verdoppelt sich die Anzahl der Einträge für jede Person.
Ich habe schon an die Möglichkeit gedacht, bei jedem Aufruf der App erst einmal den Screen zu löschen, aber leider nichts gefunden. Wie kann ich dieses Verhalten meiner App unterbinden.
Die App wurde unter AndroidStudio entwickelt. Getestet habe ich mit Samsung Galaxy S3 mini. Über diverse Emulatoren des AVD-Managers hat die Ausgabe ebenfalls funktioniert. Zur Zeit bekomme ich damit aber weder eine Ausgabe noch eine Fehlermeldung.
Meine MainActivity.java sieht so aus:
package kodelasjubeltage.vier;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Jubeltage jubeltage = new Jubeltage("/sdcard/Documents/jubeltage.txt");
String ausgabe = jubeltage.getAusgabe();
TextView tf = (TextView) findViewById(R.id.anzeige_text);
tf.setText(ausgabe);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Alles anzeigen
MfG, kodela