读书人

自定义容易的AsyncTask

发布时间: 2012-08-24 10:00:21 作者: rapoo

自定义简单的AsyncTask

自定义一个简单的异步任务

package com.nico;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.AsyncTask;import android.os.Bundle;import android.widget.ImageView;public class Test extends Activity {private ImageView img;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        img = (ImageView) findViewById(R.id.img);        //new AsyncTask By mySelf        TestAsyncTask testTask = new TestAsyncTask();        // execute the url ,request the resource, all doIntheBackGround        testTask.execute("http://10.0.0.130:8080/icon.png");    }    public class TestAsyncTask extends AsyncTask<String,Object,Bitmap>{    //after the process ,do something ,for this . set the imageView show in the MainView,    //because the mainThread can't to do the thread cost too much time.@Overrideprotected void onPostExecute(Bitmap bmp) {super.onPostExecute(bmp);img.setImageBitmap(bmp);}@Overrideprotected Bitmap doInBackground(String...url) { URL u; Bitmap bmp = null;try {u = new URL(url[0]);HttpURLConnection conn=(HttpURLConnection)u.openConnection();InputStream is = conn.getInputStream();bmp = BitmapFactory.decodeStream(is);} catch (Exception e) {e.printStackTrace();} return bmp;}}}

?

读书人网 >移动开发

热点推荐