专栏首页Nicky's blog安卓异步任务AsyncTask

安卓异步任务AsyncTask

       Android4.0之后,网络访问这些都是要放在自己开的线程里,然后在主线程里进行访问的。就我所知的有两种方法。一种是自己new一个线程,然后通过Handler机制进行访问;另外一种是用异步任务AsyncTask的方法。

       AsyncTask是一个抽象类。AsyncTask可以使得使用UI线程变的更容易更适当,它可以在后台运行一些操作然后在UI上展现,不用操作具体的线程和handlers  一个 asynchronous task包括三种基本类型(调用参数,进度和结果),和四个步骤(调用开始,在后台运行,处理进度,结束)。而doInBackground(Params...)是一定要实现的。

 使用方法描述  Asynchronous Task必须是作为一个子类来使用,  task实例必须在UI线程创建  execute(Params...)必须在UI线程调用  不要手工调用onPreExecute(), onPostExecute(Result), doInBackground(Params...), onProgressUpdate(Progress...)。  task只可以execute一次,执行多次就报异常

代码例子

class CourseAsyTask extends AsyncTask<String, Void, String>{
//类型根据自己的项目需要去定义,String... params是java多参数的使用
		@Override
		protected String doInBackground(String... params) {
			
			String url = params[0];//获取第一个参数
			
			try {
				GetScoreService gs = new GetScoreService();
				url = gs.getScoreHtml(url);
				
			} catch (Exception e) {
				e.printStackTrace();
			}
			
			return url;
			
		}
		
                	@Override
		protected void onPostExecute(String result) {
			super.onPostExecute(result);
			
			if(!result.equals("")){
				Intent intent = new Intent(ShowScoreActivity.this, ShowScoreDetailActivity.class);
				intent.putExtra("url", result);
				startActivity(intent);
			}
		}
		
		
		
		
	}

然后在主线程里调用execute()方法

new CourseAsyTask().execute(url);

这是我自己给的例子,实际的还是要根据自己的项目进行修改

然后,这是我在网上找的一个很不错的教程,老师讲得很不错的!很详细!http://www.imooc.com/learn/377

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LitePal操作数据库

    Dream城堡
  • 安卓开发基础教程-Android多界面应用程序开发

    本套教程主要讲解安卓开发的相关知识,从基础到精通。一方面可以巩固自己所得,另一方面可以帮助对安卓开发感兴趣的朋友。

    做全栈攻城狮
  • 程序员带你学习安卓开发系列-Android文件存储

    输入帐号密码,并勾选记住帐号 ,点击登录时,保存帐号信息。下次登陆可以直接显示上次保存的QQ帐号。

    做全栈攻城狮
  • 手把手带你快速上手调试Flutter项目

    在讲解调试工具之前,先来看看有关的设置选项,点击菜单栏File-->Settings-->Languages & Frameworks --> Flutter,...

    AWeiLoveAndroid
  • 窃听风云:扒掉你的最后一条“胖次”

    “每个人的手机都是一部窃听器,不管你开不开机,都能被窃听。”在2009年上映的《窃听风云》中吴彦祖饰演的人物有这样一句台词,随着影片热映,“手机窃听”的问题被更...

    FB客服
  • Android6.0到9.0的适配爬坑总结

      大家还记得Android 6.0权限适配的泪水吗?而现在谷歌已经出了Android P的稳定版,而且谷歌粑粑,为了大家能给辛苦熬夜加班,特地的和个大市场合作...

    用户1269200
  • 运行时权限

    我们在夸数据共享的时候,遇到危险的权限时候系统会让我们进行是否授权,只有我们授权了才能使用这些权限.比如拨号(可能引起收费的敏感权限)等,这里我们来演示一下调用...

    Dream城堡
  • 用JWT技术解决IM系统Socket长连接的身份认证痛点1、引言2、原作者3、系列文章5、完全搞懂什么是JWT技术6、我们是怎样使用JWT技术的?7、JWT技术的缺点8、点评附录:更多即时通讯方面的文

    本文引用了封宇《JWT技术解决IM系统的认证痛点》一文的部分内容,即时通讯网重新整理、增补和修订,感谢原作者的无私分享。

    JackJiang
  • 在Android上用AI识别物体

    AI其中一个很重要的应用就是物体识别。 今天我们来看看如何在Android上实现这个功能。

    PhoenixZheng
  • Android adb无线调试脚本

    使用adb的无线调试功能十分的方便。 但是实际工作中,总是要手动输入,十分麻烦。所以就把它写成脚本文件。

    deep_sadness

扫码关注云+社区

领取腾讯云代金券