登录 注册
当前位置:主页 > 资源下载 > 9 > android-multithread.zip下载

android-multithread.zip下载

  • 更新:2024-10-02 08:32:08
  • 大小:170KB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:其它 - 开发技术
  • 格式:ZIP

资源介绍

一个android平台上的 扩展任务库,在AsyncTask基础上进行扩展。 用法 1.继承 com.github.snowdream.android.util.concurrent.AsyncTask //inherit a class from com.github.snowdream.android.util.concurrent.AsyncTask public class DownloadFilesTask extends AsyncTask { public DownloadFilesTask(TaskListener listener) { //explicit inherit the construction from the super class. super(listener); } /** * TODO * if error occurs,carry it out. * * if (listener != null) { * listener.onError(new Throwable()); * } */ protected Long doInBackground(URL... urls) { int count = urls.length; long totalSize = 0; for (int i = 0; i < count; i ) { totalSize = 10; publishProgress((int) ((i / (float) count) * 100)); // Escape early if cancel() is called if (isCancelled()) break; try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } return totalSize; } } 2.定义一个 TaskListener.其中的第一个泛型参数是返回结果类型,第二个泛型参数是任务进度的类型。 private TaskListener listener = new TaskListener(){ @Override public void onStart() { super.onStart(); Log.i("onStart()"); } @Override public void onProgressUpdate(Integer... values) { super.onProgressUpdate(values); Log.i("onProgressUpdate(values)" values[0] ); } @Override public void onSuccess(Long result) { super.onSuccess(result); Log.i("onSuccess(result)" result); } @Override public void onCancelled() { super.onCancelled(); Log.i("onCancelled()"); } @Override public void onError(Throwable thr) { super.onError(thr); Log.i("onError()"); } @Override public void onFinish() { super.onFinish(); Log.i("onFinish()"); } }; 3.创建一个AsyncTask任务,并且执行。 URL url = null; try { url = new URL("http://www.baidu.com/"); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } new DownloadFilesTask(listener).execute(url,url,url); 标签:android