El siguiente codigo funciona a la perfeccion en el simulador, sin embargo en el telefono la aplicacion salta
"%programa% was unfornatelly stopped" ...
Utiliza la libreria commons-net-3.0.1 (.jar) aqui mas info ---http://commons.apache.org/net/
He añadido estas lineas al manifest pero tampoco
- Código: Seleccionar todo
¿Alguna sugerencia o cualquier otro metodo efectivo para subir archivos pequeños a ftp?
Podria alguien subir un ejemplo que funcione?
A continuacion mi codigo
- Código: Seleccionar todo
package vierco.com.test;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.net.InetAddress;
import java.util.Calendar;
import java.util.Date;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.format.Time;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class PruebasActivity extends Activity {
private class MiTarea extends AsyncTask{
protected void onPreExecute() {
Toast.makeText(PruebasActivity.this, "Subiendo archivo...", Toast.LENGTH_SHORT).show();
}
protected Integer doInBackground(String... urls) {
try {
FTPClient ftpClient = new FTPClient(); ftpClient.connect(InetAddress.getByName("ftp.MIHOST.org")); // direccion o nombre del host
ftpClient.login("MIUSER", "MIPASS"); // usuario y login del ftp
ftpClient.changeWorkingDirectory("/htdocs"); // carpeta del servidor donde vamos a guardar el archivo
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
BufferedInputStream buffIn=null;
buffIn=new BufferedInputStream(new FileInputStream("/sdcard/at.txt")); // ruta del archivo a subir en el dispositivo android
ftpClient.enterLocalPassiveMode();
ftpClient.storeFile("at.txt", buffIn); // nombre del archivo aL subir
buffIn.close();
ftpClient.logout();
ftpClient.disconnect();
} catch (Exception e) {
Toast.makeText(PruebasActivity.this, "Error...", Toast.LENGTH_SHORT).show();
}
return null;
}
protected void onPostExecute(Integer bytes) {
Toast.makeText(PruebasActivity.this, "Archivo subido...", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button boton =(Button) findViewById(R.id.button1);
boton.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
new MiTarea().execute();
}
});
}
}
Un saludo y gracias