2011-01-10 10 views
6

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.

+0

¿Se pasa la autenticación? ¿Hay alguna excepción lanzada? – Brian

+0

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

+0

¿Qué está fallando? ¿tienes una stacktrace? ¿Fallar al compilar o no ejecutar? –

Respuesta

1

No sé qué está causando el problema, pero descubrí que FTP en Android 2.3 funciona, pero no en la emulación.

En el momento en que probé mi código en mi teléfono celular, funcionó como lo había hecho en todas las versiones anteriores de Android.

¡Gracias por toda la ayuda!

0

Lo primero que verificaría es si tiene los permisos correctos, si ese es el caso, verifique Logcat para cualquier excepción. Si tiene alguno, publíquelo aquí o en pastebin.

Cuestiones relacionadas