ppamorim

Exemplo classe assincrona

Sep 7th, 2014
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.70 KB | None | 0 0
  1. //Faça isso dentro de algum lugar para chamar a classe assincrona:
  2.  
  3.         String content = "exemplo";
  4.  
  5.         ClasseAssincrona classeAssincrona = new ClasseAssincrona();
  6.               if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) {
  7.                 classeAssincrona.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, content);
  8.               } else {
  9.                 classeAssincrona.execute(content);
  10.               }        
  11.  
  12. //crie uma classe no mesmo arquivo (pode ser fora também)
  13.  
  14. private class ClasseAssincrona extends AsyncTask<String, Void, Boolean> {
  15.  
  16.         @Override
  17.         protected Boolean doInBackground(String... params) {
  18.  
  19.             try {
  20.  
  21.                 // Faça o que você quiser dentro da asyncTask sem bloquear a UI :)
  22.         // Pode ser uma web request, alteração no banco de dados SQLite....
  23.  
  24.         // Caso sucesso:
  25.         if(params[0].equals("exemplo")) {
  26.            return true;
  27.         } else {
  28.            return false;
  29.         }
  30.        
  31.             } catch (Exception e) {
  32.         // Caso falha:
  33.                 e.printStackTrace();
  34.         return false;
  35.             }
  36.         }
  37.  
  38.     @Override
  39.         protected void onProgressUpdate(Void... values) {
  40.             super.onProgressUpdate(values);
  41.             // Tudo que é colocado aqui, pode alterar a UI thread
  42.         }
  43.  
  44.         @Override
  45.         protected void onPostExecute(Boolean response) {
  46.             super.onPostExecute(response); 
  47.             // Tudo que é colocado aqui, pode alterar a UI thread
  48.         //Verifica se o fragment(não precisa do isAdded() se for dentro de uma activity) ainda está presente e se o response é true.
  49.  
  50.             if(isAdded() && response) {
  51.  
  52.                 //Aqui termina a asyncTask :)
  53.             }
  54.         }
  55.     }
Advertisement
Add Comment
Please, Sign In to add comment