FileOutputStream

P

paxis

Fortgeschrittenes Mitglied
0
Hallo Leute,

ich hätte ein kleines Problem! Immer wenn ich eine Methode aufrufe, stürtzt meine App ab, hier die betreffende Methode:
Code:
private void writeWaffe(int aktuellerWaffenindex2) {
     try {
            FileOutputStream fOut = openFileOutput ( "Waffen.txt" , MODE_WORLD_READABLE ) ;
            OutputStreamWriter osw = new OutputStreamWriter ( fOut ) ;
            osw.write ( aktuellerWaffenindex2 ) ;
            osw.flush ( ) ;
            osw.close ( ) ;
        } catch ( Exception e ) {
            e.printStackTrace ( ) ;
        }
    }

Hier die Fehlermeldung ausm Log:
Code:
12-15 18:08:26.517: W/System.err(896): java.lang.NullPointerException
12-15 18:08:26.527: W/System.err(896):     at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:173)
12-15 18:08:26.527: W/System.err(896):     at de.devTobi.fastfight.Charakter.writeWaffe(Charakter.java:85)
12-15 18:08:26.537: W/System.err(896):     at de.devTobi.fastfight.Charakter.<init>(Charakter.java:29)
12-15 18:08:26.547: W/System.err(896):     at de.devTobi.fastfight.MainActivity$2.onClick(MainActivity.java:40)
12-15 18:08:26.547: W/System.err(896):     at android.view.View.performClick(View.java:4204)
12-15 18:08:26.557: W/System.err(896):     at android.view.View$PerformClick.run(View.java:17355)
12-15 18:08:26.557: W/System.err(896):     at android.os.Handler.handleCallback(Handler.java:725)
12-15 18:08:26.567: W/System.err(896):     at android.os.Handler.dispatchMessage(Handler.java:92)
12-15 18:08:26.577: W/System.err(896):     at android.os.Looper.loop(Looper.java:137)
12-15 18:08:26.577: W/System.err(896):     at android.app.ActivityThread.main(ActivityThread.java:5041)
12-15 18:08:26.587: W/System.err(896):     at java.lang.reflect.Method.invokeNative(Native Method)
12-15 18:08:26.587: W/System.err(896):     at java.lang.reflect.Method.invoke(Method.java:511)
12-15 18:08:26.607: W/System.err(896):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
12-15 18:08:26.607: W/System.err(896):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
12-15 18:08:26.617: W/System.err(896):     at dalvik.system.NativeStart.main(Native Method)

Kann mir jemand helfen und sagen wo mein Fehler liegt? :)!

Vielen lieben dank schonmal :)!

paxis
 
Wahrdcheinlich ist aktuellerWaffenIndex in einer andeten Methode aufgerufen, daher die NPE
 
  • Danke
Reaktionen: paxis
Main Activity zeile 40... dort ist dein Fehler... Gruß
 
  • Danke
Reaktionen: paxis
StefMa schrieb:
Main Activity zeile 40... dort ist dein Fehler... Gruß

Dort steht:
Charakter ch = new Charakter(1, 2);

Das ruft dann wieder:
public Charakter(int paktuellerWaffenindex, int paktuellerRüstungsindex) {
aktuellerWaffenindex=paktuellerWaffenindex;
[..]
this.writeWaffe(aktuellerWaffenindex);
[..]

auf, was dann halt zu der Methode führt die Ärger macht....

Wo taucht denn, da ne Nullpointerexception auf? Ist doch eigentlich alles belegt :sad:
 
Hi,

12-15 18:08:26.527: W/System.err(896): at de.devTobi.fastfight.Charakter.writeWaffe(Charakter.java:85)
12-15 18:08:26.537: W/System.err(896): at de.devTobi.fastfight.Charakter.<init>(Charakter.java:29)
12-15 18:08:26.547: W/System.err(896): at de.devTobi.fastfight.MainActivity$2.onClick(MainActivity.java:40)
Das hier sind deine drei Fehler.
Einmal mainActivity Z 40:
Chaarakter ch = new Charakter(1,2);

Was ist Charakter Zeile 29?
Was ist Charakter Zeile 85?

Und was machst du mit dem Object "ch"??

Gruß
 
Der Fehler liegt auch in Zeile 85 in der Charakter Klasse.
Zeile 40 ruft zeile 29 auf diese wiederum ruft zeile 85 dort steht:
FileOutputStream fOut = openFileOutput ( "Waffen.txt" , MODE_WORLD_READABLE )

openFileOutput ist eine Methode aus der Context Klasse.
Ich vermute jetzt mal, dass du Charakter von Activity erben lässt.

somit hast du die Methode in dieser Klasse.
ABER da du Charakter mit einem new Operator neu erstellst, hat keine Klasse keinen Context gesetzt.

openFileOutPut (hier überschrieben im ContextWrapper) ruft irgendwo sowas auf wie "this.context.openfileOutput"
und context ist null, deswegen die NullpointerException.
Wenn deine Charakter Klasse keine Activity ist solltest du nicht von Activity erben.
Du könntest aber z.B. den Context mit übergeben an die Charakter klasse und dort die Methoden aufrufen.
 
Verstehe..., blöd wenn man was altes einfach so nutzt

Ich habe jetzt die Methode mal umgeschrieben, nachdem ich im Internet mal andere Taktiken gesucht habe:
try{
PrintWriter pWriter = new PrintWriter(new FileWriter("Rüstung.txt"));
pWriter.println(aktuellerWaffenindex2);
pWriter.flush();
}catch(IOException ioe){
ioe.printStackTrace();
}

Jetzt kommt folgender Error:
12-16 13:20:29.345: W/System.err(925): java.io.FileNotFoundException: /Rüstung.txt: open failed: EROFS (Read-only file system)
12-16 13:20:29.356: W/System.err(925): at libcore.io.IoBridge.open(IoBridge.java:416)
12-16 13:20:29.365: W/System.err(925): at java.io.FileOutputStream.<init>(FileOutputStream.java:88)
12-16 13:20:29.375: W/System.err(925): at java.io.FileOutputStream.<init>(FileOutputStream.java:73)
12-16 13:20:29.375: W/System.err(925): at java.io.FileWriter.<init>(FileWriter.java:80)
12-16 13:20:29.385: W/System.err(925): at de.devTobi.fastfight.Charakter.writeWaffe(Charakter.java:68)
12-16 13:20:29.385: W/System.err(925): at de.devTobi.fastfight.Charakter.<init>(Charakter.java:31)
12-16 13:20:29.395: W/System.err(925): at de.devTobi.fastfight.MainActivity$2.onClick(MainActivity.java:40)
12-16 13:20:29.405: W/System.err(925): at android.view.View.performClick(View.java:4204)
12-16 13:20:29.405: W/System.err(925): at android.view.View$PerformClick.run(View.java:17355)
12-16 13:20:29.415: W/System.err(925): at android.os.Handler.handleCallback(Handler.java:725)
12-16 13:20:29.425: W/System.err(925): at android.os.Handler.dispatchMessage(Handler.java:92)
12-16 13:20:29.435: W/System.err(925): at android.os.Looper.loop(Looper.java:137)
12-16 13:20:29.445: W/System.err(925): at android.app.ActivityThread.main(ActivityThread.java:5041)
12-16 13:20:29.445: W/System.err(925): at java.lang.reflect.Method.invokeNative(Native Method)
12-16 13:20:29.455: W/System.err(925): at java.lang.reflect.Method.invoke(Method.java:511)
12-16 13:20:29.455: W/System.err(925): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
12-16 13:20:29.465: W/System.err(925): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
12-16 13:20:29.465: W/System.err(925): at dalvik.system.NativeStart.main(Native Method)
12-16 13:20:29.475: W/System.err(925): Caused by: libcore.io.ErrnoException: open failed: EROFS (Read-only file system)
12-16 13:20:29.495: W/System.err(925): at libcore.io.Posix.open(Native Method)
12-16 13:20:29.505: W/System.err(925): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
12-16 13:20:29.505: W/System.err(925): at libcore.io.IoBridge.open(IoBridge.java:400)
12-16 13:20:29.515: W/System.err(925): ... 17 more

Gleiche wenn ich:
PrintWriter pWriter = new PrintWriter(new FileWriter( Environment.getExternalStorageDirectory()+"Rüstung.txt"));

Schreibe...

Irgendwie bin ich gerade zu blöd dazu.... Wieso findet der den File nicht?
 
Zuletzt bearbeitet:
Beim ersten mal versuchst du ins Root-verzechnis zu schreiben. Das darf man nicht.
Und
PrintWriter pWriter = new PrintWriter(new FileWriter( Environment.getExternalStorageDirectory()+"Rüstung .txt"));
ruft mitsicherheit NICHT den selben fehler auf..

Gruß
 
  • Danke
Reaktionen: paxis
Storage Options | Android Developers

+ bitte keine Umlaute in Dateinamen/Endungen (sowas kann gut gehen, aber die "alten Hasen" sind davon gebrandmarkt, dass das unter jeden Dateisystem Probleme macht ;))
 
  • Danke
Reaktionen: paxis
kleinerkathe schrieb:
Storage Options | Android Developers

+ bitte keine Umlaute in Dateinamen/Endungen (sowas kann gut gehen, aber die "alten Hasen" sind davon gebrandmarkt, dass das unter jeden Dateisystem Probleme macht ;))


Erstmal danke, aufgrund des Links habe ich das ganze nochmal umgeschrieben!

So langsam verzweifel ich aber echt, hier mal der Log ;):
Code:
12-16 14:49:57.167: W/ContextImpl(974): Unable to create external files directory
12-16 14:49:57.177: W/System.err(974): java.io.FileNotFoundException: /nullWaffen.txt: open failed: EROFS (Read-only file system)
12-16 14:49:57.187: W/System.err(974):     at libcore.io.IoBridge.open(IoBridge.java:416)
12-16 14:49:57.197: W/System.err(974):     at java.io.FileOutputStream.<init>(FileOutputStream.java:88)
12-16 14:49:57.197: W/System.err(974):     at java.io.FileOutputStream.<init>(FileOutputStream.java:73)
12-16 14:49:57.207: W/System.err(974):     at java.io.FileWriter.<init>(FileWriter.java:80)
12-16 14:49:57.217: W/System.err(974):     at de.devTobi.fastfight.Charakter.writeWaffe(Charakter.java:69)
12-16 14:49:57.217: W/System.err(974):     at de.devTobi.fastfight.Charakter.<init>(Charakter.java:34)
12-16 14:49:57.227: W/System.err(974):     at de.devTobi.fastfight.MainActivity$2.onClick(MainActivity.java:40)
12-16 14:49:57.227: W/System.err(974):     at android.view.View.performClick(View.java:4204)
12-16 14:49:57.237: W/System.err(974):     at android.view.View$PerformClick.run(View.java:17355)
12-16 14:49:57.237: W/System.err(974):     at android.os.Handler.handleCallback(Handler.java:725)
12-16 14:49:57.248: W/System.err(974):     at android.os.Handler.dispatchMessage(Handler.java:92)
12-16 14:49:57.257: W/System.err(974):     at android.os.Looper.loop(Looper.java:137)
12-16 14:49:57.267: W/System.err(974):     at android.app.ActivityThread.main(ActivityThread.java:5041)
12-16 14:49:57.267: W/System.err(974):     at java.lang.reflect.Method.invokeNative(Native Method)
12-16 14:49:57.277: W/System.err(974):     at java.lang.reflect.Method.invoke(Method.java:511)
12-16 14:49:57.277: W/System.err(974):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
12-16 14:49:57.287: W/System.err(974):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
12-16 14:49:57.287: W/System.err(974):     at dalvik.system.NativeStart.main(Native Method)
12-16 14:49:57.307: W/System.err(974): Caused by: libcore.io.ErrnoException: open failed: EROFS (Read-only file system)
12-16 14:49:57.317: W/System.err(974):     at libcore.io.Posix.open(Native Method)
12-16 14:49:57.317: W/System.err(974):     at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
12-16 14:49:57.327: W/System.err(974):     at libcore.io.IoBridge.open(IoBridge.java:400)
12-16 14:49:57.327: W/System.err(974):     ... 17 more
So jetzt der Aufruf:

MainActivity:

Charakter ch = new Charakter(MainActivity.this,1, 2);



Code:
public class Charakter {
[..]
Context ct;
[..]
 public Charakter(Context pct,int paktuellerWaffenindex, int paktuellerRüstungsindex) {
 ct=pct;
 aktuellerRüstungsindex=paktuellerRüstungsindex;
  this.writeRüstung(ct,aktuellerRüstungsindex);


[..]
 private void writeRüstung(Context ct2, int aktuellerRüstungsindex2) {
     File Pfad = ct2.getExternalFilesDir(null);
  
     try{
      String schreibe = Pfad + "Rüstung.txt";
     
      PrintWriter pWriter = new PrintWriter(new FileWriter( schreibe));
      pWriter.println(aktuellerRüstungsindex2);
      pWriter.flush();
  }catch(IOException ioe){
      ioe.printStackTrace();
  }

 }
Wieso kann das ganze nicht mal funktionieren? ^^
Context habe ich jetzt mit übergeben, das verzeichnis sollte auch funktionieren...
Permissions sind mit:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" ></uses-permission>

auch gegeben

Vielen lieben Dank schonmal an die, die mir so viel geholfen habe, aber jetzt hoffentlich auch noch helfen können :)))
 
Da war doch eigentlich das permissions das problem oder?
Ich gucke aber noch weiter ;)

Habe das umgeschrieben zu:
Code:
 String state = Environment.getExternalStorageState();
     File filesDir;

     if (Environment.MEDIA_MOUNTED.equals(state)) {
         // We can read and write the media
         filesDir = ct2.getExternalFilesDir(null);
     } else {
         // Load another directory, probably local memory
         filesDir = ct2.getFilesDir();
     } 
     try{
      String schreibe = filesDir + "Rüstung.txt";
      
      PrintWriter pWriter = new PrintWriter(new FileWriter( schreibe));
      pWriter.println(aktuellerRüstungsindex2);
      pWriter.flush();
  }catch(IOException ioe){
      ioe.printStackTrace();
  }
 }

Jetzt kommt folgender fehler:
12-16 17:16:30.510: V/TAG(301): bug 7643792: fitSystemWindows([0,38][0,0])
12-16 17:16:35.570: E/ThrottleService(301): problem during onPollAlarm: java.lang.IllegalStateException: problem parsing stats: java.io.FileNotFoundException: /proc/net/xt_qtaguid/iface_stat_all: open failed: ENOENT (No such file or directory)


Also eigentlich gar nicht mehr so viel...
 
Zuletzt bearbeitet:
Das sieht aber nicht so aus, als wäre das von deiner App.
Deine App schreibt nix raus?

Was hast du denn in filesDir stehen?

Übrigens so wie du es jetzt gemacht hast, hast du das problem, wenn beim ersten mal die SD karte drin ist, dann schreibt er darauf, beim nächsten mal schreibt er in den internen speicher.
Heißt wenn du da einen Spielstand speicherst musst du damit rechnen, dass du irgendwann evtl 2 Spielstände hast einmal auf der SD karte und einmal im internen Speicher.
Das könnte probleme beim Laden geben.
 
  • Danke
Reaktionen: paxis
Diesen Codeabschnitt habe ich im INternet gefunden,
Du hast recht, das kann ich nicht benutzen ;)!

Boar kann doch nicht so schwierig sein, nen Output zu schreiben :D
Arbeite mal weiter dran

Der ursprüngliche Beitrag von 19:29 Uhr wurde um 20:00 Uhr ergänzt:

Habs nochmal umgeschrieben Error kommt nicht wirklich:
Code:
12-16 18:54:35.558: I/AudioService(305):  AudioFocus  abandonAudioFocus() from android.media.AudioManager@40ce8b08com.android.music.MediaPlaybackService$3@40ce7728
12-16 18:54:45.453: E/ThrottleService(305): problem during onPollAlarm: java.lang.IllegalStateException: problem parsing stats: java.io.FileNotFoundException: /proc/net/xt_qtaguid/iface_stat_all: open failed: ENOENT (No such file or directory)
12-16 18:58:31.028: I/Choreographer(305): Skipped 90 frames!  The application may be doing too much work on its main thread.
12-16 18:58:31.569: I/Choreographer(305): Skipped 36 frames!  The application may be doing too much work on its main thread.
12-16 18:58:31.679: W/SoundPool(305):   sample 0 not READY
12-16 18:58:31.689: D/PhoneStatusBar(386): disable: < expand icons alerts ticker system_info BACK HOME recent* CLOCK search* >
12-16 18:58:31.699: I/Choreographer(305): Skipped 34 frames!  The application may be doing too much work on its main thread.
12-16 18:58:31.869: D/PhoneStatusBar(386): disable: < expand icons alerts ticker system_info back* home* recent clock* search >
12-16 18:58:31.899: I/ARMAssembler(37): generated scanline__00000077:03515104_00009002_00000000 [127 ipp] (149 ins) at [0x409841f0:0x40984444] in 8374414 ns
12-16 18:58:31.939: I/Choreographer(305): Skipped 42 frames!  The application may be doing too much work on its main thread.
12-16 18:58:32.068: I/ARMAssembler(37): generated scanline__00000077:03515104_00009001_00000000 [131 ipp] (153 ins) at [0x40984450:0x409846b4] in 708575 ns
12-16 18:58:32.088: I/Choreographer(305): Skipped 30 frames!  The application may be doing too much work on its main thread.
12-16 18:58:32.199: I/Choreographer(916): Skipped 89 frames!  The application may be doing too much work on its main thread.
12-16 18:58:32.338: I/Choreographer(305): Skipped 39 frames!  The application may be doing too much work on its main thread.
12-16 18:58:32.549: V/TAG(305): bug 7643792: fitSystemWindows([0,38][0,0])
12-16 18:58:32.549: I/Choreographer(305): Skipped 54 frames!  The application may be doing too much work on its main thread.
12-16 18:58:34.549: I/ActivityManager(305): START u0 {cmp=de.devTobi.fastfight/.Charakteruebersicht} from pid 916
12-16 18:58:34.559: W/WindowManager(305): Failure taking screenshot for (246x410) to layer 21005
12-16 18:58:40.029: D/dalvikvm(305): GC_CONCURRENT freed 823K, 22% free 6655K/8532K, paused 72ms+51ms, total 412ms
12-16 18:58:44.602: W/ActivityManager(305): Launch timeout has expired, giving up wake lock!
12-16 18:58:44.602: W/ActivityManager(305): Activity idle timeout for ActivityRecord{4120cd30 u0 de.devTobi.fastfight/.Charakteruebersicht}

Methode:
Code:
 File ordner= ct2.getFilesDir();
        String Datei = ordner + "Rüstung.txt";
     try {
            FileOutputStream fos = new FileOutputStream(Datei, true);
            fos.write(aktuellerRüstungsindex2);
            fos.flush();
            fos.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }

Ich verzweifel hier gerade :bored::bored:

Der ursprüngliche Beitrag von 20:00 Uhr wurde um 21:43 Uhr ergänzt:

Jetzt habe ich eine weitere Frage:

zur Zeit kommt folgender Error:
Code:
12-16 20:38:31.224: I/ActivityManager(322): START u0 {cmp=de.devTobi.fastfight/.Charakteruebersicht} from pid 973
12-16 20:38:31.234: W/WindowManager(322): Failure taking screenshot for (246x410) to layer 21010
12-16 20:38:41.295: W/ActivityManager(322): Launch timeout has expired, giving up wake lock!
12-16 20:38:41.295: W/ActivityManager(322): Activity idle timeout for ActivityRecord{40eb5f38 u0 de.devTobi.fastfight/.Charakteruebersicht}

Also irgendwie schläft es ein! Um mal den jetzigen Code zu zeigen, stelle ich mal den Verlauf dar:
Charakter ch = new Charakter(MainActivity.this,1, 2);
-> Startet das mit dem Charakter
Das schreiben:
Code:
private void writeRüstung(Context ct2, int aktuellerRüstungsindex2) {
     File Meinspeicherort = new File(ct2.getFilesDir()+"Rüstung.txt");
     BufferedWriter out=null;
     try {
        Meinspeicherort.createNewFile();
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    try {
        out = new BufferedWriter(new FileWriter(Meinspeicherort));
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
     try {
          
            out.write ( aktuellerRüstungsindex2 ) ;
            out.flush ( ) ;
           
     
        } catch ( Exception e ) {
            e.printStackTrace ( ) ;
        }finally
        {
            try {
                out.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }   
       }
    }

Lesen:
Code:
String state = Environment.getExternalStorageState();
    

     File filesDir= new File(ct2.getFilesDir(), "Rüstung.txt");
     String datax = "0" ;
        try {
            String filesDir2 = filesDir+"Rüstung.txt";
            FileInputStream fIn = new FileInputStream (filesDir2) ;
            InputStreamReader isr = new InputStreamReader ( fIn ) ;
            BufferedReader buffreader = new BufferedReader ( isr ) ;

            String readString = buffreader.readLine ( ) ;
            while ( readString != null ) {
                datax =  readString ;
                readString = buffreader.readLine ( ) ;
            }

            isr.close ( ) ;
        } catch ( IOException ioe ) {
            ioe.printStackTrace ( ) ;
        }
        return Integer.parseInt(datax);
    }
}

Dann wird eine neue Activity namens Charakterübersicht folgendes geladen:
Code:
    setContentView(R.layout.charakteruebersicht);
        TextView CT= (TextView) findViewById(R.id.tVCharakter);
        Charakter ch = null;
        Item it;
        Waffen waf = null;
        Rüstungen rüs = null;CT.setText("!  Der aktuelle Rüstungswert beträgt:" + rüs.gibItem(ch.getaktuellerRüstungsindex(Charakteruebersicht.this)).getRüstungswert());

Und das ganze friert irgendwie ein.

Kann mir vielleicht jemand jetzt helfen ^^:blushing:
 
Schreibt der denn in die Rüstung.txt was rein?
Bzw legt er die Datei an?

Die Letzte Zeile von deinem Code kann nicht funktionieren.
Da wird garantiert eine NullPointerException fliegen, weil du jetzt rüs auf null, rufst aber direkt danach rüs.gibItem() auf.

Weißt du wann das Einfriert?
Wenn nicht, bau am besten mal ein paar Logausgaben ein dann weißt du an welcher Stelle er einfriert.
Datei Operationen sollten eigentlich auch in einen eigenen Thread ausgelagert werden, wobei das bei den minimalen Daten, die du schreibst eigentlich kein Problem sein sollte.

Auch dein Dateiauslesen ist suboptimal
datax = readString
Du überschreibst immer datax, in deinem Fall nicht schlimm weil du eh nur eine Zeile in deiner Datei haben solltest, ABER dann brauchst du eigentlich gar keine Schleife, sonder der readLine() aufruf einmal reicht.

Ich bin mir gerade auch nicht sicher, ob du den bufferedReader nicht auch mit close schließen musst.

Und beim auslesen stimmt was mit den Pfaden nicht, du hast einmal filesDir was schon den Dateinamen enthält, danach machst du:
String filesDir2 = filesDir+"Rüstung.txt";
was so gar nicht funktioniert, da filesDir doch ein File Objekt ist.
Auf jedenfall hängst du da nochmal den Dateinamen dran.

Grundsätzlich halte ich das hantieren mit den Dateien übrigens für überflüssig.
Du könntest das alles in den SharedPreferences speichern.
Das wäre wahrscheinlich viel einfacher und weniger aufwendig. ;)
 
  • Danke
Reaktionen: paxis
Danke für deine ausführliche Antwort :)!

Ich habe jetzt nurnoch folgende fehlermeldung im Log:
Code:
12-17 14:52:02.688: E/ThrottleService(287): problem during onPollAlarm: java.lang.IllegalStateException: problem parsing stats: java.io.FileNotFoundException: /proc/net/xt_qtaguid/iface_stat_all: open failed: ENOENT (No such file or directory)

Der andere Code ist folgendermaßen:
Code:
private void writeRüstung(Context ct2, int aktuellerRüstungsindex2) {
     File Meinspeicherort = new File(ct2.getCacheDir()+"/"+"Rüstung.txt");
     BufferedWriter out=null;
     try {
        Meinspeicherort.createNewFile();
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    try {
        out = new BufferedWriter(new FileWriter(Meinspeicherort));
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
     try {
          
            out.write ( aktuellerRüstungsindex2 ) ;
            out.flush ( ) ;
           
     
        } catch ( Exception e ) {
            e.printStackTrace ( ) ;
        }finally
        {
            try {
                out.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }   
       }
    }private int leseRüstungsindex(Context ct2) {
    String state = Environment.getExternalStorageState();
    File filesDir= new File(ct2.getCacheDir()+"/"+"Rüstung.txt");
     String datax = "0" ;
        try {
            
            FileInputStream fIn = new FileInputStream (filesDir) ;
            InputStreamReader isr = new InputStreamReader ( fIn ) ;
            BufferedReader buffreader = new BufferedReader ( isr ) ;

            String readString = buffreader.readLine ( ) ;
            while ( readString != null ) {
                datax =  readString ;
                readString = buffreader.readLine ( ) ;
            }

            isr.close ( ) ;
        } catch ( IOException ioe ) {
            ioe.printStackTrace ( ) ;
        }
        return Integer.parseInt(datax);
    }
}

Wie lässt sich dieser komische Error oben erklären? :)
 
Das kommt nicht aus deiner App, das ist irgendwas vom System.
Da würde ich mir gar nicht so viele Gedanken drum machen ;)
 
  • Danke
Reaktionen: paxis
Die App funktioniert allerdings immer noch nicht, ich habe gerade nochmal debuggt und bekomme halt nur folgende Rückmeldung:
Code:
12-17 17:13:45.888: E/ThrottleService(326): problem during onPollAlarm: java.lang.IllegalStateException: problem parsing stats: java.io.FileNotFoundException: /proc/net/xt_qtaguid/iface_stat_all: open failed: ENOENT (No such file or directory)
12-17 17:15:42.962: I/InputDispatcher(326): Application is not responding: Window{4104da60 u0 de.devTobi.fastfight/de.devTobi.fastfight.MainActivity}.  It has been 5019.9ms since event, 5019.0ms since wait started.  Reason: Waiting because the touched window has not finished processing the input events that were previously delivered to it.
12-17 17:15:42.964: I/WindowManager(326): Input event dispatching timed out sending to de.devTobi.fastfight/de.devTobi.fastfight.MainActivity
12-17 17:15:53.175: I/InputDispatcher(326): Dropped event because it is stale.

Irgendwie friert die Activity ein... Die Frage ist nur warum und wieso nicht dieses typische App wurde unerwartet geschlossen Zeug kommt :mellow:
 
Ich glaub, weil du den BufferedWriter nicht direkt mit
Code:
out.flush();
[b][i]out.close();[/b][/i]
Schliesst, sondern erst ne Exception wirfst.
Sicher bin ich mir aber nicht :)
 
Bist du mal im Debugger Schritt für Schritt durchgegangen?
Was passiert dann?
Fliegt irgendwo die Fehlermeldung?
Geht er überall normal durch?
 

Ähnliche Themen

S
Antworten
2
Aufrufe
1.065
starsgate
S
Freddchen
Antworten
3
Aufrufe
1.743
Freddchen
Freddchen
Zurück
Oben Unten