Android 异步加载

Android 4.0 后 貌似规定了 在主线程中不允许访问网络,在子线程中不允许修改UI. 否则会抛出NetworkOnMainThreadException 异常

解决办法: 采用继承 AsyncTask<String, String, String>
实现AsyncTask中定义的几个方法

onPreExecute()

doInBackground(Params...)

onProgressUpdate(Progress...)

onPostExecute(Result)

onCancelled()

注意:

Task的实例必须在UI 线程中创建
 execute方法必须在UI 线程中调用

 

 1  private class MyTask extends AsyncTask<String, Integer, String>
 2     {
 3 
 4         @Override
 5         protected void onPreExecute() {
 6             super.onPreExecute();
 7             //界面提示
 8         }
 9         @Override
10         protected String doInBackground(String... para) {
11             //getWebService
12             //获取网络数据
13             return null;
14         }
15         @Override
16         protected void onProgressUpdate(Integer... values) {
17             super.onProgressUpdate(values);
18             //显示当前进度情况
19         }        
20         @Override
21         protected void onPostExecute(String result) {
22             super.onPostExecute(result);
23             //更新UI
24         }
25         @Override
26         protected void onCancelled() {
27             super.onCancelled();
28             //用户取消
29         }
30     }

 

转载于:https://www.cnblogs.com/Evelia/p/3531528.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值