使用AsyncTask实现网络数据的异步访问

    在调用时使用: new NewsAsyncTask().execute(URL); 

  

//实现网络的异步访问
//1.string请求网址2.记录中间过程3.返回的json被解析得到的List<>;
class NewsAsyncTask extends AsyncTask<String, Void,List<NewsBean> >{

	//处理后台执行的任务,在后台线程执行
	@Override
	protected List<NewsBean> doInBackground(String... params) {
		//params:请求网址
		// TODO Auto-generated method stub
		return getJsonData(params[0]);//返回一个List<>,而后被onPostExecute()调用;
	}

	// 后台任务执行完之后被调用,在ui线程执行  
	@Override
	protected void onPostExecute(List<NewsBean> newsBeans) {
		// TODO Auto-generated method stub
		super.onPostExecute(newsBeans);
		NewsAdapter adapter = new NewsAdapter(MainActivity.this,newsBeans);
		mListView.setAdapter(adapter);
	}

        // 在doInBackground(Params...)之前被调用,在ui线程执行
        protected void onPreExecute() {
                super.onPreExecute();  
        }

        // 在ui线程执行  
        protected void onCancelled() {
                super.onCancelled();  
        }
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值