Tecnologia do Blogger.
RSS

[androidbrasil-dev] Como fazer essa AsyncTask

Olá senhores,

Eu vou precisar inserir no bando de dados SQLite uns 1000 e poucos dados que vem de um arquivo de texto, AsyncTask é a solução mas não estou conseguindo implementar ela.
O Log diz que e NullPoint, ai acho que estou fazendo alguma coisa errada. Segue a classe



@SuppressLint("ParserError") public class Async extends AsyncTask<Void, Void, Void> {

private ProgressDialog progress;
private Context context;
private ParadaDAO paradadao;
public Async(Context context){
this.context = context;
}
@SuppressLint("ParserError") @Override
protected void onPreExecute() {
// mostra a o ProgressDialog
progress = ProgressDialog.show(context, "Aguarde", "Espere alguns instantes");
}
protected Void doInBackground(Void... params) {
paradadao = new ParadaDAO(context);
ParadaVO vo = new ParadaVO(); 
try {
byFile(R.raw.paradas,paradadao, vo);
} catch (IOException e) {

Log.i("jampabus","erro = " + e.getMessage());

e.printStackTrace();
}
return null;
}

protected void onPostExecute(Void result) {
progress.dismiss();
};
protected void byFile(int fileID, ParadaDAO dao,ParadaVO vo) throws IOException {
Log.i("jampabus","entrou no byfile");
     
        try {
Double x = 0.0;
Double y = 0.0;
String coberta = "sim";
 
  BufferedReader br = new BufferedReader(new InputStreamReader(context.getResources().openRawResource(fileID)));
 
String line;
 
while ((line = br.readLine()) != null){
 
    if (line.length() > 0) {

     
    if(line.equals("DESCRIPTION=Unknown Point Feature")){
    continue;  
    }
     
    x = Double.valueOf(line.substring(0,13));
    y = Double.valueOf(line.substring(14,28));
 
    vo.setCoberta(coberta);
    vo.setCoordenadax(x);
    vo.setCoordenaday(y);
     
            paradadao.insert(vo);
 
 
    }
 
}
} catch (NumberFormatException e) {
e.printStackTrace();
Log.i("jampa", "number = " + e.getMessage());
} catch (NotFoundException e) {
e.printStackTrace();
Log.i("jampabuss","notfound = " + e.getMessage());
}
        
        
        
}//fim do metodo byFile()
}


pra chamar faço isso eu to fazendo assim   new Async().execute();
tem alguma coisa que estou fazendo de errado ?







Diogo Henrique
(83)87344178
Rede Sociais: 
Meditando Provérbios: 



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário