Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Faça isso dentro de algum lugar para chamar a classe assincrona:
- String content = "exemplo";
- ClasseAssincrona classeAssincrona = new ClasseAssincrona();
- if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) {
- classeAssincrona.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, content);
- } else {
- classeAssincrona.execute(content);
- }
- //crie uma classe no mesmo arquivo (pode ser fora também)
- private class ClasseAssincrona extends AsyncTask<String, Void, Boolean> {
- @Override
- protected Boolean doInBackground(String... params) {
- try {
- // Faça o que você quiser dentro da asyncTask sem bloquear a UI :)
- // Pode ser uma web request, alteração no banco de dados SQLite....
- // Caso sucesso:
- if(params[0].equals("exemplo")) {
- return true;
- } else {
- return false;
- }
- } catch (Exception e) {
- // Caso falha:
- e.printStackTrace();
- return false;
- }
- }
- @Override
- protected void onProgressUpdate(Void... values) {
- super.onProgressUpdate(values);
- // Tudo que é colocado aqui, pode alterar a UI thread
- }
- @Override
- protected void onPostExecute(Boolean response) {
- super.onPostExecute(response);
- // Tudo que é colocado aqui, pode alterar a UI thread
- //Verifica se o fragment(não precisa do isAdded() se for dentro de uma activity) ainda está presente e se o response é true.
- if(isAdded() && response) {
- //Aqui termina a asyncTask :)
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment