Hace poco noté que al intentar ejecutar mi aplicación en la emulación de Gingerbread, ese FTP se rompió. Actualmente estoy usando la biblioteca externa Apache Commons para el soporte de FTP, pero por alguna razón que funciona en cualquier otro sistema operativo Android, excepto 2.3 (Gingerbread)No puedo conectarme a FTP en Gingerbread
Aquí está mi código 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();
Como ya he dicho, este está probado y funciona en 1.6, 2.1 y 2.2, pero no en 2.3. Intenté todo el día averiguar por qué y cómo solucionarlo, pero no encuentro ninguna solución.
Me preguntaba si alguien tiene experiencia con FTP y Gingerbread y si puede ser tan amable de guiarme en la dirección correcta.
Gracias.
¿Se pasa la autenticación? ¿Hay alguna excepción lanzada? – Brian
Su código funciona bien para mí con el emulador de nivel 9 de Android 2.3.1 y el commons-net-2.0.jar. Tal vez tienes una versión anterior? Utilicé el sitio FTP www.mirrorservice.org y el archivo /pub/gnu/r.README – NickT
¿Qué está fallando? ¿tienes una stacktrace? ¿Fallar al compilar o no ejecutar? –