Sending a CSV file to an ftp server

0

My application makes an order form, already creating a CSV file and playing this file in FTP , the application registers creates the CSV , but when I should upload to the ftp error (I think), it follows the code:

Class performs request:

Confirmar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String atString = atendente.getText().toString();
                String mesaString = meCodigo;
                String resultadoPe;
                String resultadoPp = null;

                resultadoPe = crud.inserePedido(data, hora, atString, mesaString);
                Toast.makeText(getApplicationContext(), resultadoPe, Toast.LENGTH_LONG).show();

                Cursor cursor = crud.pegaIdPedido();
                pedItem = cursor.getString(cursor.getColumnIndexOrThrow(CriaBanco.getPedCodigo()));
                String all = edtTotal.getText().toString();
                final ArrayList<Produtos> produtos = produtosAdapter.getProdutos();
                int linhas = produtos.size();

                for (int i = 0; i < linhas; i++) {
                    Produtos linha = produtos.get(i);
                    String id = linha.getId();
                    String unitario = linha.getUnidade();
                    String quantidade = linha.getQtd();

                    resultadoPp = crud.insereProduto(id, pedItem, unitario, all, quantidade);
                }

                Toast.makeText(getApplicationContext(), resultadoPp, Toast.LENGTH_SHORT).show();

                int linhasPe = crud.carregaPedido(Integer.parseInt(pedItem));
                int linhasPp = crud.carregaProdutos(Integer.parseInt(pedItem));

                crud.escrever(linhasPe, linhasPp, Integer.parseInt(pedItem));

                dialog = ProgressDialog.show(RealizarPedidoActivity.this,"Aguarde...", "Sincronizando dados...",
                        false, true);

                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        efetuarUpload();
                        dialog.dismiss();
                    }
                }).start();



               AlertDialog.Builder builder = new AlertDialog.Builder(RealizarPedidoActivity.this);
                builder.setTitle("Atenção");
                builder.setMessage("Desaja realizar um pedido para outra mesa?");
                builder.setPositiveButton("Sim", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Intent i = new Intent(RealizarPedidoActivity.this, ListarMesaActivity.class);
                        startActivity(i);
                        finish();
                    }
                });

                builder.setNegativeButton("Não", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Intent i = new Intent(RealizarPedidoActivity.this, MainActivity.class);
                        startActivity(i);
                        finish();
                    }
                });

                alerta = builder.create();
                alerta.show();
            }
        });
}

public void efetuarUpload(){
        try{
            FTPController ftp = new FTPController();
            ftp.conectar("192.168.2.5", "vitor", "248693751qQ", 21);
            ftp.upload("export.csv", "/export/export.csv");
        }catch (Exception e){
            e.getStackTrace();
        }
    }

FTPController class:

package realsysten.com.br.sigarestaurante;

import java.io.FileInputStream;
import java.io.FileOutputStream;

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

import android.os.Environment;
import android.util.Log;

/**
 * Created by Vitor on 14/06/2016.
 */
public class FTPController{

    FTPClient mFTP;
    private String TAG = "classeFTP";

    public FTPFile[] dir(String diretorio) {
        try {
            FTPFile[] ftpFiles = mFTP.listFiles(diretorio);
            return ftpFiles;
        } catch (Exception e) {
            Log.e(TAG, "Erro: não foi possivel listar os arquivos e pastas do diretorio " +
                    diretorio + " . " + e.getMessage());
        }
        return null;
    }

    public boolean mudarDiretorio(String diretorio) {
        try {
            mFTP.changeWorkingDirectory(diretorio);
        } catch (Exception e) {
            Log.e(TAG, "Erro: não foi possivel mudar o diretorio para " + diretorio);
        }

        return false;
    }

    public boolean desconecta() {
        try {
            mFTP.disconnect();
            mFTP = null;
            return true;
        } catch (Exception e) {
            Log.e(TAG, "Erro: ao desconectar. " + e.getMessage());
        }
        return false;
    }

    public boolean conectar(String host, String usuario, String senha, int porta){
        try {
            mFTP = new FTPClient();
            mFTP.connect(host, porta);
            if (FTPReply.isPositiveCompletion(mFTP.getReplyCode())) {
                boolean status = mFTP.login(usuario, senha);

                mFTP.setFileType(FTP.BINARY_FILE_TYPE);
                mFTP.enterLocalPassiveMode();

                return status;
            }
        } catch (Exception e) {
            Log.e(TAG, "ERRO: não foi possivel conectar " + host);
        }
        return false;
    }

    public boolean download(String diretorioOrigem, String arqOrigem, String arqDestino) {
        boolean status = false;

        try {
            mudarDiretorio(diretorioOrigem);
            FileOutputStream desFileStream = new FileOutputStream(arqDestino);
            mFTP.setFileType(FTP.BINARY_FILE_TYPE);
            mFTP.enterLocalActiveMode();

            status = mFTP.retrieveFile(arqOrigem, desFileStream);
            desFileStream.close();
            desconecta();
            return status;
        } catch (Exception e) {
            Log.e(TAG, "Erro: Falha ao efetuar download. " + e.getMessage());
        }
        return status;
    }

    public boolean upload(String diretorio, String nomeArquivo) {
        boolean status = false;
        try {
            FileInputStream arqEnviar = new FileInputStream(Environment.getExternalStorageDirectory() + diretorio);
            mFTP.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
            mFTP.setFileType(FTPClient.STREAM_TRANSFER_MODE);
            mFTP.storeFile(nomeArquivo, arqEnviar);
            desconecta();
            return status;
        } catch (Exception e) {
            Log.e(TAG, "Erro: falha ao efetuar upload. " + e.getMessage());
        }
        return status;
    }
}

debugging the application, upon reaching this lines:

    new Thread(new Runnable() {
            @Override
            public void run() {
                efetuarUpload();
                dialog.dismiss();
            }
        }).start();

Nothing happens, it only comes in new Thread(new Runnable() { ,

and jump straight to:

AlertDialog.Builder builder = new AlertDialog.Builder(RealizarPedidoActivity.this);
                builder.setTitle("Atenção");
                builder.setMessage("Desaja realizar um pedido para outra mesa?");
                builder.setPositiveButton("Sim", new DialogInterface.OnClickListener() {

Do not even get into the thread

Does anyone know why?

NOTE: No error appears in the Log.

    
asked by anonymous 14.06.2016 / 19:22

0 answers