您的位置:首页 > 移动开发 > Android开发

android---异步通讯AsyncTask

2015-11-28 11:39 645 查看
<strong style="background-color: rgb(255, 255, 255);">1.</strong>
/**
* 实现网络的异步访问
* 3个参数,第一个params:传进去一个String类型 的网址
* 第二个是progress,不需要过程,则写void
* 第三个 是result,我们需要对json格式进行一个封装,便于在adapter中去设置数组
* @author xiaoyuer
*List<NewsBean>:AsyncTask返回一个bean对象的集合,每个newsbean代表一行数据,最终list传到adapter中
*/
class NewsAsyncTask extends AsyncTask<String, Void, List<NewsBean>>
{
/**
* 在doInBackground方法中获取到传进来的url
* 实现网络的异步访问
*/
@Override
protected List<NewsBean> doInBackground(String... params) {
return getJosnData(params[0]);
}

/**
*onPostExecute方法将生成的onPostExecute设置 listView
*/
@Override
protected void onPostExecute(List<NewsBean> newsbean) {
// TODO Auto-generated method stub
super.onPostExecute(newsbean);
NewsAdapter adapter = new NewsAdapter(newsbean, MainActivity.this, mListView);
mListView.setAdapter(adapter);
}

2.

public void showImageByThread(ImageView imageView,final String url)
{
mImageView = imageView;
mUrl = url;
new Thread()
{
public void run()
{
super.run();
/**
* 获取图片,这里是不能直接把获取的图片传给imageView的,因为android中非主线程不能直接在线程中更新UI,
* 只能通过handler去做一个消息的传递
*/
Bitmap bitmap = getBitmapFromUrl(url);		//通过<span style="font-family: Arial, Helvetica, sans-serif;">getBitmapFromUrl</span>函数获取图片
Message message = Message.obtain();
message.obj = bitmap;
handler.sendMessage(message);
}
}.start();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: