>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Não consigo replicar, ou seja, enviar os dados.


Galera ele não replica, da erro na linha InputStreamReader ips = new InputStreamReader(http.getInputStream());



package br.com.premises;

import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

import android.app.Activity;
import android.app.ProgressDialog;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.widget.Toast;

public class EnviarDados extends Activity implements Runnable{

SQLiteDatabase BancoDados = null;
Cursor cursor;
int totalReplicado = 0;
int QtdeRegistros = 0;

ProgressDialog pgd;
String error = "";


/* variavel para o nome do banco */
private static final String NomeBanco = "Premises.DB";
private static final String PATH = "/Premises/Dados/";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.enviar_dados);



}

public void EnviarClick(View v){

String diretorio = Environment.getExternalStorageDirectory() + PATH;
File dir = new File(diretorio);
dir.mkdirs();

BancoDados = openOrCreateDatabase(NomeBanco, MODE_WORLD_READABLE, null);
File dbfile = new File(diretorio+NomeBanco);
BancoDados = SQLiteDatabase.openOrCreateDatabase(dbfile, null);

cursor = BancoDados.rawQuery("select * from [CLIENTES] where enviado = 'N' and novo = 'S'", null);

QtdeRegistros = cursor.getCount(); //Variavel pega o total de registros no db
totalReplicado = 0; //Variavel pega o total de replicados

pgd = new ProgressDialog(EnviarDados.this);
pgd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pgd.setCancelable(false);
pgd.setTitle("Recebendo dados.");
pgd.setMax(QtdeRegistros);
pgd.show();

new Thread(EnviarDados.this).start();

}



public void run() {
Log.i("run: ", "" + "iniciou o run");
Log.i("run: ", "" + "Qtde de registros: "+QtdeRegistros);


while(cursor.moveToNext()){
Log.i("run: ", "" + "entrou no cursor");
StringBuilder strURL = new StringBuilder();
strURL.append("http://7master.com.br/SantaCruz/Insert.php?CodigoInterno=");
strURL.append(cursor.getInt(cursor.getColumnIndex("CodigoInterno")));
strURL.append("&Pessoa=");
strURL.append(cursor.getString(cursor.getColumnIndex("Pessoa")));
strURL.append("&Razao=");
strURL.append(cursor.getString(cursor.getColumnIndex("Razao")));
strURL.append("&Fantasia=");
strURL.append(cursor.getString(cursor.getColumnIndex("Fantasia")));
strURL.append("&CNPJ_CPF=");
strURL.append(cursor.getString(cursor.getColumnIndex("CNPJ_CPF")));
strURL.append("&IE_RG=");
strURL.append(cursor.getString(cursor.getColumnIndex("IE_RG")));
strURL.append("&Endereco=");
strURL.append(cursor.getString(cursor.getColumnIndex("Endereco")));
strURL.append("&Numero=");
strURL.append(cursor.getString(cursor.getColumnIndex("Numero")));
strURL.append("&Complemento=");
strURL.append("null");
strURL.append("&Bairro=");
strURL.append(cursor.getString(cursor.getColumnIndex("Bairro")));
strURL.append("&Cep=");
strURL.append(cursor.getString(cursor.getColumnIndex("Cep")));
strURL.append("&Cidade=");
strURL.append(cursor.getString(cursor.getColumnIndex("Cidade")));
strURL.append("&UF=");
strURL.append(cursor.getString(cursor.getColumnIndex("UF")));
strURL.append("&Intinerario=");
strURL.append(cursor.getString(cursor.getColumnIndex("Intinerario")));
strURL.append("&Fone1=");
strURL.append(cursor.getString(cursor.getColumnIndex("Fone1")));
strURL.append("&Fone2=");
strURL.append(cursor.getString(cursor.getColumnIndex("Fone2")));
strURL.append("&Fone3=");
strURL.append(cursor.getString(cursor.getColumnIndex("Fone3")));
strURL.append("&Email=");
strURL.append(cursor.getString(cursor.getColumnIndex("Email")));
strURL.append("&Data_Nascimento=");
strURL.append(cursor.getString(cursor.getColumnIndex("Data_Nascimento")));
strURL.append("&Novo=");
strURL.append(cursor.getString(cursor.getColumnIndex("Novo")));
strURL.append("&Alterado=");
strURL.append(cursor.getString(cursor.getColumnIndex("Alterado")));
strURL.append("&Setor=");
strURL.append(cursor.getString(cursor.getColumnIndex("Setor")));
strURL.append("&DiaSemana=");
strURL.append(cursor.getString(cursor.getColumnIndex("DiaSemana")));
strURL.append("&Ordem=");
strURL.append(cursor.getString(cursor.getColumnIndex("Ordem")));
strURL.append("&Rota=");
strURL.append(cursor.getString(cursor.getColumnIndex("Rota")));
strURL.append("&Enviado=");
strURL.append("S");
Log.i( " loop: ", strURL.toString());

try {
Log.i( " ee: ", "iniciou o try :");
URL url = new URL(strURL.toString());
HttpURLConnection http = (HttpURLConnection) url.openConnection();
Log.i( " ee: ", "iniciou o http :"+url);
InputStreamReader ips = new InputStreamReader(http.getInputStream());
Log.i( " ee: ", "iniciou o ips :");
BufferedReader line = new BufferedReader(ips);

Log.i( " linha retorno BufferedReader: ", line.readLine());
String linhaRetorno = line.readLine();

if(linhaRetorno.equals("Y")){
Log.i( " linha retorno: ", strURL.toString());
//BancoDados.execSQL("update clientes set novo = 'S' where _id ="+new String[]{String.valueOf(cursor.getInt(0))}, null);

totalReplicado++;
}


} catch (Exception e) {
Log.i( " linha: ", "Erro ssdsdssds");
}


if(QtdeRegistros == totalReplicado){
hl.sendEmptyMessage(1);
} else {
error = "Ocorreu algum erro no sistema.";
hl.sendEmptyMessage(2);
}
//Final verifica se existe dados

}


BancoDados.close();



}

public Handler hl = new Handler(){
public void handleMessage(Message msg) {
if(msg.what == 0){
pgd.setProgress(pgd.getProgress() + 1);
} else if(msg.what == 1){
pgd.dismiss();
Toast.makeText(EnviarDados.this, "Os Dados foram enviados com sucesso!!", Toast.LENGTH_LONG).show();
} else if(msg.what == 2){
pgd.dismiss();
Toast.makeText(EnviarDados.this, "Erro ao enviar os dados: " + error, Toast.LENGTH_LONG).show();
}
}
};



}

InputStreamReader ips = new InputStreamReader(http.getInputStream());



2 Respostas


O erro é pq na linha strURL.append(cursor.getString(cursor.getColumnIndex("Razao"))); tem um espaço em branco.

Como tratar isso?




Sidney

Verifique cursor.getString(cursor.getColumnIndex("Razao")) se tem char.

Se tiver, ai você executa o:

strURL.append(cursor.getString(cursor.getColumnIndex("Razao")));

Exemplo:

if (CONDICAO){
strURL.append(cursor.getString(cursor.getColumnIndex("Razao")));
}