Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida no curso de Android 3, Capitulo 11: Fazendo envio de dados de forma assíncrona ???

Pessoal estou com dificuldades para coletar a média dos alunos, o Task.maketext da classe EnviaAlunosTask abre uma mensagem em branco. Será se existe algum problema em se comunicar com o servidor? não consta erros no LOGCat. declarei também o o que está ocorrendo??

Metodo de chamada da Classe ListaAlunos.java

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int itemClicado = item.getItemId();

        switch (itemClicado) {
        case R.id.novo:
            Intent irParaFormulario = new Intent(this, Formulario.class);
            startActivity(irParaFormulario);
            break;
        case R.id.enviar_alunos:

            EnviaAlunosTask task = new EnviaAlunosTask(this);
            task.execute();
            break;

        default:
            break;
        }

        return super.onOptionsItemSelected(item);
    }

Classe EnviaAlunosTask.java

public class EnviaAlunosTask extends
                    AsyncTask<Integer, Double, String>{

    private Activity context;

    public EnviaAlunosTask(Activity context) {
        this.context = context;        
    }

    @Override
    protected String doInBackground(Integer... params) {

        String urlServer = "http://www.caelum.com.br/mobile";        
        AlunoDAO dao = new AlunoDAO(context);
        List<Aluno> alunos = dao.getLista();                        
        dao.close();        
        String dadosJSON =  new AlunoConverter().toJSON(alunos);
        WebClient client = new WebClient(urlServer);
        final String respostaJSON =  client.post(dadosJSON);

        return respostaJSON;
    }

    @Override
    protected void onPostExecute(String result) {

        Toast.makeText(context, result, Toast.LENGTH_LONG).show();        
    }

}

Classe AlunoConverter.java

public class EnviaAlunosTask extends
                    AsyncTask<Integer, Double, String>{

    private Activity context;

    public EnviaAlunosTask(Activity context) {
        this.context = context;        
    }

    @Override
    protected String doInBackground(Integer... params) {

        String urlServer = "http://www.caelum.com.br/mobile";        
        AlunoDAO dao = new AlunoDAO(context);
        List<Aluno> alunos = dao.getLista();                        
        dao.close();        
        String dadosJSON =  new AlunoConverter().toJSON(alunos);
        WebClient client = new WebClient(urlServer);
        final String respostaJSON =  client.post(dadosJSON);

        return respostaJSON;
    }

    @Override
    protected void onPostExecute(String result) {

        Toast.makeText(context, result, Toast.LENGTH_LONG).show();        
    }

}
4 respostas
solução!

Descubri o erro.. Estava retornando null na classe WebClient.. ops.. resolvido!!

Cleber, é possível você postar seu projeto? Estou com um problema parecido, queria comparar o meu projeto com o seu, pra ver onde errei.

Até posso sim José.. mas aonde eu posto? Em que ponto está com problemas?

Você tem Skype ou e-mail?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software