异步操作

当一个线程执行的时候,可能会产生一些阻碍,这时用户就不能再执行当前线程的其他操作,可能需要等待其响应。于是,解决的办法就是把可能产生阻碍的步骤放在另一个线程上执行,这样当前线程的操作就可以不受影响。

例子:在某个软件中,点击某个按钮会向服务器发送请求,这时在网络传输中可能产生很多事件阻碍,所以就要把该操作放在另一个线程中,即异步操作。

代码:需要写一个类继承AsyncTask<Void,Void,Void>,再覆写Void doInBackground方法,在该函数中写要执行的可能产生阻碍的操作。执行该线程在主线程中使用该类的一个对象的excute方法。

onPreExecute  该方法运行在UI线程中,可以对一些UI控件进行操作

doInBackground  该方法并不运行在UI线程中,所以不能对UI控件进行修改

在该方法内可以调用publishProgress(i)发布一些更新到UI线程。

onProgressUpdate (i)该方法在UI线程中,可实现更新(如修改进度条),publishProgress的参数就是传到这里。

onPostExecute  该方法在doInBackground  运行之后运行

AsyncTask<A,B,C>

C  doInBackground (A...Param)   A是参数类型,...的意思是可以传入多个A类型的数,Param是一个数组,保存参数。C是返回值类型

onProgressUpdate(B)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值