1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Android 4 Verbindungsproblem

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Lightstorm, 28.06.2012.

  1. Lightstorm, 28.06.2012 #1
    Lightstorm

    Lightstorm Threadstarter Neuer Benutzer

    Beiträge:
    11
    Erhaltene Danke:
    0
    Registriert seit:
    05.06.2012
    Ich bekomme bei folgendem Aufruf eine java.io.FileNotFoundException, der Code läuft auf Android 2.2 und 2.3, nur auf Android 4 wird dieser Fehler hervorgerufen:

    Code:
    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    

    Und hier der Code bis zum Fehler verursachenden Code:

    Code:
    System.setProperty("http.keepAlive", "false");
    		
    try
    {	
      this.url = new URL( vars[1] ); 
    				
      this.conn = (HttpsURLConnection)url.openConnection();
    		        
      ((HttpsURLConnection) conn).setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
    		        
       conn.setDoOutput(true);
    		        
    
    		    
    
       BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    
    
    ...
    
     
  2. Lightstorm, 29.06.2012 #2
    Lightstorm

    Lightstorm Threadstarter Neuer Benutzer

    Beiträge:
    11
    Erhaltene Danke:
    0
    Registriert seit:
    05.06.2012
    Keiner eine Idee?
     
  3. Unicate, 29.06.2012 #3
    Unicate

    Unicate Android-Experte

    Beiträge:
    473
    Erhaltene Danke:
    57
    Registriert seit:
    09.08.2010
    Einziger Grund der mir einfällt wäre, das der BufferedReader evtl. beim Buffern ein tmp-file erstellt???

    Versuch mal nen anderen puffer zu verwenden
     
  4. mradlmaier, 29.06.2012 #4
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    Beiträge:
    158
    Erhaltene Danke:
    17
    Registriert seit:
    28.10.2011
    Oder vars[1] enthält nicht den Wert den Du erwartest unter ICS...?
     
  5. Lightstorm, 01.07.2012 #5
    Lightstorm

    Lightstorm Threadstarter Neuer Benutzer

    Beiträge:
    11
    Erhaltene Danke:
    0
    Registriert seit:
    05.06.2012
    @Unicate

    Wie meinst du das genau, ein anderen Puffer?


    @mradlmaier

    Doch den Wert vars[1] habe ich überprüft, es ist korrekt.
     
  6. mradlmaier, 02.07.2012 #6
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    Beiträge:
    158
    Erhaltene Danke:
    17
    Registriert seit:
    28.10.2011
    java.io.FileNotFoundException ist ja eine ziemlicher Hint worans hacken könnte:
    Möglicherweise, ist das Layout des Filesystems nicht exakt das gleiche unter ICS, wie Du es erwartet.

    Wie erstellst Du den Wert von var[1] ?
    Mit welcher Android API Methode?
    Oder bastelts Du Dir den Pfad selber?

    Wenn Du den Pfad Dir selber bastelst, wirds daran legen, dann müsst Du in der API gucken, und eine Methode nehmen, wo die API es übernimmt Dir den korrekten Pfad zurück zu geben.
     
  7. fler, 22.07.2012 #7
    fler

    fler Neuer Benutzer

    Beiträge:
    1
    Erhaltene Danke:
    0
    Registriert seit:
    17.05.2012
    Hast du das Problem gelöst?

    Ich habe das gleiche Problem mit BufferedReader.
    Dieses App funktioniert einwandfrei unter Android <4.
    mit 4.0.3 habe ich das problem "unfortunatelly.appname has stoped"
     
  8. mradlmaier, 22.07.2012 #8
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    Beiträge:
    158
    Erhaltene Danke:
    17
    Registriert seit:
    28.10.2011
    Ich habe Probleme mit Files lesen in einer Java Desktop App gehabt. Da war das Problem aber nicht FileNotFound sondern hatte mit Charactersets zu tun.

    Trotzdem: File | Android Developers:

    "An "abstract" representation of a file system entity identified by a pathname. The pathname may be absolute (relative to the root directory of the file system) or relative to the current directory in which the program is running.

    The actual file referenced by a File may or may not exist. It may also, despite the name File, be a directory or other non-regular file.

    This class provides limited functionality for getting/setting file permissions, file type, and last modified time.

    On Android strings are converted to UTF-8 byte sequences when sending filenames to the operating system, and byte sequences returned by the operating system (from the various list methods) are converted to strings by decoding them as UTF-8 byte sequences."

    Vielleicht klappts mit dem Charakter Encoding nicht?

    Ausserdem, ohne Logcat ist das alles Spekulation...
     
  9. Lightstorm, 22.07.2012 #9
    Lightstorm

    Lightstorm Threadstarter Neuer Benutzer

    Beiträge:
    11
    Erhaltene Danke:
    0
    Registriert seit:
    05.06.2012
    Ich konnte das Problem mit dem BufferedReader nicht lösen. Deswegen habe ich den Apache HTTP Client genommen, damit hatte ich dann das Problem nicht.
    HttpClient - HttpClient Home
     

Diese Seite empfehlen