package br.com.cursoandroid.cadastroaluno.task;
import java.util.List;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.widget.Toast;
import br.com.cursoandroid.cadastroaluno.converter.AlunoConverter;
import br.com.cursoandroid.cadastroaluno.modelo.bean.Aluno;
import br.com.cursoandroid.cadastroaluno.modelo.dao.AlunoDAO;
import br.com.cursoandroid.cadastroaluno.suport.WebClient;
public class EnviaAlunosTask extends AsyncTask<Object, Object, String> {
//Servidor para teste JSON: http://www.jsontest.com/
//private final String url = "http://ip.jsontest.com/";
private final String url = "http://192.168.43.215:8080/AlunoWeb/receber-json";
// Contexto (tela) para exibicao de mensagens
private Context context;
// Barra de progresso
private ProgressDialog progress;
//Construtor que recebe o contexto da App
public EnviaAlunosTask(Context context) {
this.context = context;
}
protected void onPreExecute() {
//Executando a barra de progresso
progress = ProgressDialog.show(context, "Aguarde...",
"Enviando dados para o servidor web", true, true);
}
protected String doInBackground(Object... params) {
//Lista de alunos
AlunoDAO dao = new AlunoDAO(context);
List<Aluno> lista = dao.listar();
dao.close();
//Conversao da lista para JSON
String json = new AlunoConverter().toJSON(lista);
//Envio de dados para o servidor remoto
String jsonResposta = new WebClient(url).post(json);
//Devolvendo a resposta do servidor
return jsonResposta;
}
protected void onPostExecute(String result) {
//Encerra a exibicao da barra de progresso
progress.dismiss();
//Exibindo a resposta do servidor
Toast.makeText(context, result, Toast.LENGTH_LONG).show();
}
}