赞
踩
Result 后台执行任务最终返回的结果,比如String。
package com.example.aynctaskpro; import android.annotation.SuppressLint; import android.os.AsyncTask; import android.util.Log; public class MyTask extends AsyncTask<String, Integer, String> { @Override protected String doInBackground(String... params) { // TODO Auto-generated method stub Log.d("mytask", "doInBackground params = "+params[0]+" len="+params.length); try { Thread.sleep(1000); publishProgress(new Integer[]{1}); Thread.sleep(1000); publishProgress(new Integer[]{2}); Thread.sleep(1000); publishProgress(new Integer[]{3}); Thread.sleep(1000); publishProgress(new Integer[]{4}); Thread.sleep(1000); publishProgress(new Integer[]{5}); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return "fuck"; } @Override protected void onCancelled() { // TODO Auto-generated method stub Log.d("mytask", "onCancelled"); super.onCancelled(); } @SuppressLint("NewApi") @Override protected void onCancelled(String result) { // TODO Auto-generated method stub Log.d("mytask", "onCancelled result="+result); super.onCancelled(result); } @Override protected void onPostExecute(String result) { // TODO Auto-generated method stub Log.d("mytask", "onPostExecute result="+result); super.onPostExecute(result); } @Override protected void onPreExecute() { // TODO Auto-generated method stub Log.d("mytask", "onPreExecute"); super.onPreExecute(); } @Override protected void onProgressUpdate(Integer... values) { // TODO Auto-generated method stub Log.d("mytask", "onProgressUpdate value="+values[0]+" len="+values.length); super.onProgressUpdate(values); } }
package com.example.aynctaskpro; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.util.Log; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final MyTask task = new MyTask(); task.execute("address"); // Handler h = new Handler(); // h.postDelayed(new Runnable(){ // // @Override // public void run() { // // TODO Auto-generated method stub // Log.d("mytask", "cancel="+task.cancel(false)); // } // // }, 3000); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。