Home Menu

Menu



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


 
Herramientas
  #1  
Viejo 07/02/16, 17:26:39
Avatar de JOERCHA
JOERCHA JOERCHA no está en línea
Miembro del foro
Mensajes: 254
 
Fecha de registro: ene 2008
Mensajes: 254
Modelo de smartphone: SAMSUNG NOTE4
Versión de ROM: 5.01
Tu operador: Vodafone
Mencionado: 1 comentarios
Tagged: 0 hilos
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
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
El permiso de escritura en medios externos no tiene que ver nada con FTP, en todo caso es
android.permission.INTERNET
Responder Con Cita
  #3  
Viejo 07/02/16, 18:18:55
Avatar de JOERCHA
JOERCHA JOERCHA no está en línea
Miembro del foro
Mensajes: 254
 
Fecha de registro: ene 2008
Mensajes: 254
Modelo de smartphone: SAMSUNG NOTE4
Versión de ROM: 5.01
Tu operador: Vodafone
Mencionado: 1 comentarios
Tagged: 0 hilos
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
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
¿Y qué excepción te lanza al ejecutar el connect?
Responder Con Cita
  #5  
Viejo 07/02/16, 18:56:59
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Estás conectado por WiFi. No?

Enviado desde mi SM-G900F mediante Tapatalk
Responder Con Cita
  #6  
Viejo 09/02/16, 00:41:04
Avatar de JOERCHA
JOERCHA JOERCHA no está en línea
Miembro del foro
Mensajes: 254
 
Fecha de registro: ene 2008
Mensajes: 254
Modelo de smartphone: SAMSUNG NOTE4
Versión de ROM: 5.01
Tu operador: Vodafone
Mencionado: 1 comentarios
Tagged: 0 hilos
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
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
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.
Responder Con Cita
Respuesta

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


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 00:34:48 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007