Recentemente ho notato che quando si tenta di eseguire la mia applicazione sull'emulazione Gingerbread, quell'FTP si è rotto. Attualmente sto usando la libreria esterna Apache Commons per il supporto FTP, ma per qualche ragione funziona su ogni altro sistema operativo Android, tranne 2.3 (Gingerbread)Impossibile connettersi a FTP su Gingerbread
Ecco il mio codice FTP
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();
Come ho già detto, questo è testato e funziona su 1.6, 2.1 e 2.2, ma non 2.3. Ho provato tutto il giorno a capire perché e come risolverlo ma non riesco a trovare alcuna soluzione.
Mi chiedevo quindi se qualcuno avesse esperienza con FTP e Gingerbread e se potessi essere così gentile da guidarmi nella giusta direzione.
Grazie.
È passata l'autenticazione? Vengono lanciate eccezioni? – Brian
Il tuo codice funziona correttamente con l'emulatore Android 2.3.1 API di livello 9 e commons-net-2.0.jar. Forse hai una versione precedente? Ho usato il sito FTP www.mirrorservice.org e il file /pub/gnu/r.README – NickT
Cosa non funziona? hai uno stacktrace? non riuscendo a costruire o non riescono a correre? –