Android 开发如何执行后台异步任务(AsyncTask实现).docxVIP

Android 开发如何执行后台异步任务(AsyncTask实现).docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android开发如何执行后台异步任务(AsyncTask实现)在Android开发中,经常要用到一些联网等长时间的操作,比如说联网下载图片或下载文件,如果文件较大就会需要较长的下载时间,如果直接顺序执行的话,界面可能就不动了,这样的用户体验很不好,为了有更好的用户体验,我们可以在下载开始后给用户提示一个进度条或者说一个等待提示,这里我们可以用后台异步任务来实现这些操作。我们在用eclipse新建Activity的时候,可以选择LoginActivity模版,这样生成的Activity会自动生成有登录操作的异步任务模版,我们可以适当修改适应我们的需求即可。我们在执行后台任务时,弹出一个进度框ProgressDialog,给用户提供一种更好的体验:ProgressDialog progress = new ProgressDialog(this); progress.setMessage(Please wait ...);我们要执行的后台任务通过继承AsyncTask类来实现,并重写doInBackground、onPostExecute两个方法,doInBackground方法执行后台任务,onPostExecute方法为任务执行后处理。AsyncTask类的详细介绍可参考官方文档:/reference/android/os/AsyncTask.htm。class LoginTask extends AsyncTaskVoid, Void, Boolean { @Override protected Boolean doInBackground(Void... args) { // 要执行的后台任务,登录、联网查询等。。。 return true; } @Override public void onPostExecute(Boolean result) { task = null; progress.dismiss(); if (result) { Toast.makeText(LoginActivity.this, Success ., Toast.LENGTH_LONG).show(); } else { Toast.makeText(LoginActivity.this, Failed !, Toast.LENGTH_LONG).show(); } } }在AsyncTask中,第一个Void是参数的类型,如果在执行任务的时候需要传递参数,可以改变这个类型,相应的doInBackground的参数类型也要改变;第二个Void是任务执行的进度,可以根据这个值控制进度条的提示;第三个Boolean是后台任务执行的返回结果,这里使用Boolean类型,根据返回的true/false判断任务是否执行成功,如果需要修改则onPostExecute方法的参数也要相应修改。在界面控件的单击事件中添加对任务的调用:button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(task != null) { Toast.makeText(LoginActivity.this, Task is running ..., Toast.LENGTH_LONG).show(); return ; } progress.show(); task = new LoginTask(); task.execute((Void) null); } });像这样我们在点击按钮的时候会弹出一个进度框,并新建异步任务并执行,在执行过程中根据抛出的异常及其他条件判断返回true/false,在onPostExecute方法设置任务为空、进度框消失,根据任务执行结果执行后续相应处理。来源:清源教育欢迎登录清源教育官网 查看更多视频教程

您可能关注的文档

文档评论(0)

tcpe + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档