Tecnologia do Blogger.
RSS

[androidbrasil-dev] Re: AsyncTask erro intermitente

Segue a exception que esta ocorrendo de vez em quando


12-05 18:34:58.012: E/AndroidRuntime(10544): FATAL EXCEPTION: AsyncTask #2
12-05 18:34:58.012: E/AndroidRuntime(10544): java.lang.RuntimeException: An error occured while executing doInBackground()
12-05 18:34:58.012: E/AndroidRuntime(10544): at android.os.AsyncTask$3.done(AsyncTask.java:200)
12-05 18:34:58.012: E/AndroidRuntime(10544): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
12-05 18:34:58.012: E/AndroidRuntime(10544): at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
12-05 18:34:58.012: E/AndroidRuntime(10544): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
12-05 18:34:58.012: E/AndroidRuntime(10544): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
12-05 18:34:58.012: E/AndroidRuntime(10544): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
12-05 18:34:58.012: E/AndroidRuntime(10544): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
12-05 18:34:58.012: E/AndroidRuntime(10544): at java.lang.Thread.run(Thread.java:1019)
12-05 18:34:58.012: E/AndroidRuntime(10544): Caused by: java.lang.NullPointerException: println needs a message
12-05 18:34:58.012: E/AndroidRuntime(10544): at android.util.Log.println_native(Native Method)
12-05 18:34:58.012: E/AndroidRuntime(10544): at android.util.Log.println_native_wrapped(Log.java:254)
12-05 18:34:58.012: E/AndroidRuntime(10544): at android.util.Log.e(Log.java:393)
12-05 18:34:58.012: E/AndroidRuntime(10544): at br.com.routead.adapter.AdStoreAdapterModel$DownloadImageTask.doInBackground(AdStoreAdapterModel.java:130)
12-05 18:34:58.012: E/AndroidRuntime(10544): at br.com.routead.adapter.AdStoreAdapterModel$DownloadImageTask.doInBackground(AdStoreAdapterModel.java:1)
12-05 18:34:58.012: E/AndroidRuntime(10544): at android.os.AsyncTask$2.call(AsyncTask.java:185)
12-05 18:34:58.012: E/AndroidRuntime(10544): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
12-05 18:34:58.012: E/AndroidRuntime(10544): ... 4 more


Em quarta-feira, 5 de dezembro de 2012 18h13min21s UTC-2, Rogerio Esteves escreveu:
Boa tarde pessoal tudo bem?

Tenho uma AsyncTask para carregar a imagem e exibi-la na tela. Tenho duas imagem que estão sendo buscadas via HTTP mas as imagens tem vezes que carrega as duas e tem hora que carrega somente uma. pelo log esta chamando o duas vezes o doInBackground que esta correto porém o onPostExecute não é chamado em algumas vezes é normal isso? Será intermitência da rede??

segue a minha task

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap>{
final AndroidHttpClient client = AndroidHttpClient.newInstance("Android");
 
@Override
protected Bitmap doInBackground(String... params) {
String urlDisplay = params[0];
Bitmap bitmap = null;
final HttpGet getRequest = new HttpGet(urlDisplay);
//runningTask = true;
try{
Log.i(ConstantsUtil.LOG_ID, "Obtendo imagem " + urlDisplay);
HttpResponse response = client.execute(getRequest);
final int statusCode = response.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK){
Log.e(ConstantsUtil.LOG_ID, "Erro no response codigo " + statusCode);
return null;
}
final HttpEntity entity = response.getEntity();
if (entity != null){
InputStream inputStream = null;
try{
inputStream = entity.getContent();
bitmap = BitmapFactory.decodeStream(inputStream);
}finally{
if (inputStream != null){
inputStream.close();
}
entity.consumeContent();
}
}
}catch (Exception e) {
Log.e(ConstantsUtil.LOG_ID, e == null?"Erro inexperado ao obter imagem":e.getMessage());
getRequest.abort();
return null;
}finally{
if(client != null){
client.close();
}
}
return bitmap;
}
@Override
protected void onPostExecute(Bitmap result) {
//if (isCancelled()) image = null;
if (result != null){
Log.i(ConstantsUtil.LOG_ID, "Successfully loaded image");
image = result;
if(adStoreAdapter != null){
adStoreAdapter.notifyDataSetChanged();
}
}else{
Log.e(ConstantsUtil.LOG_ID, "Falha ao carregar a imagem");
}
}
}



--
 
 

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

0 comentários:

Postar um comentário