1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Brillow, 06.12.2011 #1
    Brillow

    Brillow Threadstarter Neuer Benutzer

    Hi,

    ich schreibe gerade eine kleine App, um mich wieder in Java reinzufinden und stoße dabei im Moment auf 2 Probleme, die ich einfach nicht verstehe.

    1.
    Würde ich gerne einen String (eine Datei) lokal speichern. Dazu habe ich folgende Methoden geschrieben (einmal zum speichern, einmal zum laden).

    Code:
    try {
    			FileOutputStream fos = openFileOutput(filename[s-2], Context.MODE_WORLD_READABLE);
    			OutputStreamWriter osw = new OutputStreamWriter(fos);
    			
    			osw.write(data[s-2]);
    			
    			osw.flush();
    			osw.close();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			
    			clear();
    			title4.setText("Konnte Daten nicht speichern!");
    			title4.setTextColor(Color.RED);
    		}
    
    filename ist ein array, wo meine Dateinamen drinstehen, im data Array steht jeweils der String der gespeichert werden soll.

    Zum Laden:
    Code:
    private void load(int m) {
    		File datei = new File(filename[m-2]);
    		GregorianCalendar lastmod = new GregorianCalendar();
    		
    		lastmod.setTimeInMillis(datei.lastModified());
    		
    		this.setTitle("" + lastmod.get(Calendar.WEEK_OF_YEAR) + " - " + date.get(Calendar.WEEK_OF_YEAR));
    		
    		if(lastmod.get(Calendar.WEEK_OF_YEAR) == date.get(Calendar.WEEK_OF_YEAR)){
    			//Wird die App genau ein Jahr lang nicht geoeffnet, so bildet sich hier ein Fehler
    			try {
    				FileInputStream fis = openFileInput(filename[m-2]);
    				InputStreamReader isr = new InputStreamReader(fis);
    				char buffer[] = null;
    				
    				isr.read(buffer);
    				
    				data[m-2] = new String(buffer);
    				
    				fis.close();
    				
    			} catch (FileNotFoundException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    				fetchData(m);
    			} catch (IOException e){
    				e.printStackTrace();
    				fetchData(m);
    			}
    		}else{
    			fetchData(m);
    		}
    	}
    
    Das Problem ist nun: es funktioniert nicht. Es wird keine Datei erstellt, egal wie ichs auch drehe und wende. Meiner Meinung nach liegt der Fehler entweder in dem save/load kram oder in der Umrechnung der verschiedenen Datumsangaben oben in der load().

    Ich hoffe ihr könnt mir da irgendwie helfen und bitte schlagt mich nicht, wenns irgendein dummer, ersichtlicher Fehler ist ;)

    MfG
    Brillow
     
  2. Maddi, 06.12.2011 #2
    Maddi

    Maddi Android-Hilfe.de Mitglied

    Es wär einfacher wenn du den Fehler eingrenzen kannst.
    Ist die Datei den auf dem Handy (oder Emulator) nachdem du gespeichert hast?

    Wenn nicht guck mal ob die:
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    gesetzt ist.

    Gruß Maddin
     
  3. DieGoldeneMitte, 06.12.2011 #3
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    LogCat wirkt Wunder! :D
     
  4. swordi, 06.12.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    was ist das ? :flapper::flapper::flapper::cursing::cursing::cursing:
     
  5. Maddi, 06.12.2011 #5
    Maddi

    Maddi Android-Hilfe.de Mitglied

    [​IMG]
    :flapper:
     
  6. Brillow, 07.12.2011 #6
    Brillow

    Brillow Threadstarter Neuer Benutzer

    Danke für die Antworten, ich habs nun gefunden. Es ist nicht die Permission, die benötigt man nicht für den internen Speicher. LogCat gibt mir auch nichts aus. Habe nun aber rausgefunden, dass es daran lag, dass ich die File falsch initialisiert habe und daher das "lastModified()"-Datum immer 0 war. Richtig ist es dann so:

    Code:
    GregorianCalendar lastmod = new GregorianCalendar();
    		File datei = getFileStreamPath(filename[m-2]);	
    		
    		lastmod.setTimeInMillis(datei.lastModified());
    
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Widget zeigt keine ImageView an. Android App Entwicklung 18.09.2017
[ERLEDIGT] (Verständnis-)Probleme mit SwipeRefreshLayout Android App Entwicklung 12.08.2017
[ERLEDIGT] Daten/Code meiner App speichern? Android App Entwicklung 27.07.2017
[ERLEDIGT] Probleme mit Bluetooth / Beam Ordner Android App Entwicklung 25.07.2017
[GESCHLOSSEN] Kennt jemand ein Programm , um .DEX Dateien zu öffnen, bearbeiten und wieder speichern? Android App Entwicklung 20.07.2017
[ERLEDIGT] Probleme mit AdMob Android App Entwicklung 19.07.2017
[ERLEDIGT] Probleme mit Service unter Android N Android App Entwicklung 16.07.2017
[OFFEN] Probleme in den Speicher schreiben Android App Entwicklung 13.07.2017
[ERLEDIGT] Kleine Probleme mit einer App Android App Entwicklung 14.06.2017
[OFFEN] Probleme mit Action Floating Button Android App Entwicklung 27.05.2017
Du betrachtest das Thema "Daten im internen Speicher sichern und Probleme mit Date()." im Forum "Android App Entwicklung",