Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 07/02/16, 17:26:39
Array

[xs_avatar]
JOERCHA JOERCHA no está en línea
Miembro del foro
 
Fecha de registro: ene 2008
Mensajes: 254
Modelo de smartphone: SAMSUNG NOTE4
Tu operador: Vodafone
no conecta a servidor FTP

Buenas Tardes, estoy realizando un proyecto, para enviar un fichero via ftp a una camara que tiene el puerto ftp 21 abierto. Desde un movil y con un cliente ftp, acceso sin problemas con la camara a sus carpetas, el problema esta que al realizar un programa para realizar el proyecto, no me conecta y he intentado de todo.

voy a poner algunos datos para que los que puedan ayudarme tengo todos los datos.

Lo estoy realizando en Android Studio.

en AndroidManifest.xml tengo

android:name="android.permission.INTERNET" />

ya en la clase tengo

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;

y al ejecutar

ftpClient = new FTPClient();
ftpClient.connect("192.168.42.1",21);

no hace el .connect


SOLUCIONADO:
if (Build.VERSION.SDK_INT>9);

{
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().buil d();
StrictMode.setThreadPolicy(policy);
}

Última edición por JOERCHA Día 09/02/16 a las 00:42:01.
Responder Con Cita


  #2  
Viejo 07/02/16, 18:15:29
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,202
Tu operador: -

El permiso de escritura en medios externos no tiene que ver nada con FTP, en todo caso es
android.permission.INTERNET
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #3  
Viejo 07/02/16, 18:18:55
Array

[xs_avatar]
JOERCHA JOERCHA no está en línea
Miembro del foro
 
Fecha de registro: ene 2008
Mensajes: 254
Modelo de smartphone: SAMSUNG NOTE4
Tu operador: Vodafone
 Cita: Originalmente Escrito por mocelet Ver Mensaje
El permiso de escritura en medios externos no tiene que ver nada con FTP, en todo caso es
android.permission.INTERNET
Perdon me equivoque corte y peque el otro permiso, si si, lo tengo a INTERNET pero da problemas
Responder Con Cita
  #4  
Viejo 07/02/16, 18:43:00
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,202
Tu operador: -

¿Y qué excepción te lanza al ejecutar el connect?
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #5  
Viejo 07/02/16, 18:56:59
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Estás conectado por WiFi. No?

Enviado desde mi SM-G900F mediante Tapatalk
Responder Con Cita
  #6  
Viejo 09/02/16, 00:41:04
Array

[xs_avatar]
JOERCHA JOERCHA no está en línea
Miembro del foro
 
Fecha de registro: ene 2008
Mensajes: 254
Modelo de smartphone: SAMSUNG NOTE4
Tu operador: Vodafone
 Cita: Originalmente Escrito por mocelet Ver Mensaje
¿Y qué excepción te lanza al ejecutar el connect?
SOLUCIONADO:
Antes de hacer el connect hay que comprobar esto.

if (Build.VERSION.SDK_INT>9);

{
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().buil d();
StrictMode.setThreadPolicy(policy);
}
Responder Con Cita
  #7  
Viejo 09/02/16, 07:14:36
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
No, esa no es la solución.

La solución está en la parte del código que no muestras, y es que seguro que estás haciendo el connect en el hilo principal, y al hacer un permitAll al StrictMode evitas que salte el NetworkOnMainThreadException.

¿Funciona lo que has hecho? Si, pero es de nivel chapucero no, lo siguiente.
Responder Con Cita
  #8  
Viejo 09/02/16, 08:13:44
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,202
Tu operador: -

Como dice kriogeN esa no es la solución, el tiempo que estés usando la conexión al FTP dejarás el móvil completamente bloqueado y sin que responda a los toques del usuario. Ya te encontrarás con eso más adelante.

La solución es que el código que se conecta y transfiera datos lo haga en un hilo independiente, ya sea con una AsyncTask o con un nuevo Thread.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 08:30:49 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /