2011-01-10 3 views
6

verbinden Ich habe vor kurzem festgestellt, dass, wenn Sie versuchen, meine Anwendung auf der Gingerbread-Emulation ausführen, dass FTP brach. Ich bin derzeit die Apache Commons externe Bibliothek für FTP-Unterstützung, aber aus irgendeinem Grund funktioniert es auf jedem anderen Android OS außer 2.3 (Lebkuchen)Ich kann nicht mit FTP auf Gingerbread

Hier ist mein FTP-Code

FTPClient ftp = new FTPClient(); 
ftp.connect(SERVER); 
ftp.login("anonymous", "anonymous"); 
ftp.setFileType(FTP.BINARY_FILE_TYPE); 
ftp.enterLocalPassiveMode(); 

InputStream is = ftp.retrieveFileStream("file.txt"); 
byte[] data = new byte[1024]; 

fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
int x = 0; 
while((x=is.read(data,0,1024))>=0){ 
    fos.write(data,0,x); 
} 
fos.flush(); 
fos.close(); 
ftp.logout(); 
ftp.disconnect(); 

Wie gesagt, diese ist getestet und arbeitet an 1.6, 2.1 und 2.2, aber nicht an 2.3. Ich habe den ganzen Tag versucht, herauszufinden, warum und wie ich es beheben kann, aber ich kann keine Lösung finden.

Ich fragte mich daher, ob jemand Erfahrung mit FTP und Gingerbread haben und ob Sie so nett sein könnten, mich in die richtige Richtung zu führen.

Danke.

+0

Erreicht es die Authentifizierung? Werden Ausnahmen ausgelöst? – Brian

+0

Ihr Code funktioniert OK für mich mit Android 2.3.1 API Level 9 Emulator und dem commons-net-2.0.jar. Vielleicht hast du eine ältere Version? Ich benutzte die FTP-Site www.mirrorservice.org und die Datei /pub/gnu/r.README – NickT

+0

Was ist fehlgeschlagen? Hast du einen Stacktrace? nicht bauen oder nicht laufen? –

Antwort

1

Ich weiß nicht, was das Problem verursacht, aber ich habe herausgefunden, dass FTP auf Android 2.3 funktioniert, aber nicht in der Emulation.

In dem Moment, als ich meinen Code auf meinem Handy ausprobierte, funktionierte es wie bei allen früheren Versionen von Android.

Danke für die Hilfe!

0

Die erste Sache, die ich überprüfen würde, wenn Sie die richtigen Berechtigungen haben, wenn das der Fall ist, überprüfen Sie Logcat für Ausnahmen. Wenn Sie irgendwelche haben, bitte posten Sie sie hier oder über eine Pastebin.

Verwandte Themen