[android] 两种异步方式
使用AsyncTask开启子线程获取服务器数据,更新界面UI
/**
* 异步任务
*
* @author taoshihan
*
*/
public class HttpAsyncTask extends AsyncTask<String, Void, String> {
/**
* 在执行后台任务之前执行
*/
@Override
protected void onPreExecute() {
String netInfo = NetUtils.getNetworkInfo(context);
if ("no".equals(netInfo)) {
Toast.makeText(context, "网络连接失败", 0).show();
} else if ("wifi".equals(netInfo)) {
Toast.makeText(context, "wifi连接", 0).show();
} else if ("mobile".equals(netInfo)) {
Toast.makeText(context, "手机流量连接", 0).show();
}
} /**
* 后台运行,耗时的操作都放在这里,相当于Thread的run方法
*/
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
return null;
} /**
* 在执行后台任务之后,可以在这更改UI界面,相当于Handler里面的处理方法
*/
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
} }
使用Thread和Handler异步获取信息
/**
* 使用线程和Handler
* @author taoshihan
*
*/
public class HttpHandler extends Handler{
@Override
public void handleMessage(Message msg) {
//处理Message
}
}
public class HttpThread extends Thread{
@Override
public void run() {
//发送Message
new HttpHandler().sendMessage(new Message());
}
}
new HttpThread().start();
new HttpAsyncTask().execute("htp://www.baidu.com");
[android] 两种异步方式的更多相关文章
- MVC4 Action 两种异步方式
1. xxxAsync/xxxCompleted 组合方式异步,xxxCompleted 就是他的回调函数,在执行完 xxxAsync 后调用xxxCompleted . 使用 异步方式必须继承A ...
- AsyncTask和Handler两种异步方式的实现和区别比较
1 AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以 ...
- Android中BroadcastReceiver的两种注册方式(静态和动态)详解
今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式. BroadcastReceiver也就是"广播接收者"的意思,顾名思义,它就是用来 ...
- Android中Fragment与Activity之间的交互(两种实现方式)
(未给Fragment的布局设置BackGound) 之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文<Android中Fragment的两种创建方式>,就如 ...
- Android 常用UI控件之TabHost(1)TabHost的两种布局方式
TabHost是Android中的tab组件. TabHost布局文件的基本结构 TabHost下有个layout,这个layout中有TabWidget与FrameLayout.TabWidget是 ...
- Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式。
原文:Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式. Android Activity 的四种启动模 ...
- Android进程通信之一:两种序列化方式
2月下旬辞职了,去海南度假到现在,领略了一把三亚风情也算任性和 然而这样任性带来的后果就是..不行了我必须吐槽一句.. 没毕业的找工作就这么难嘛!投了57家一家面试机会都没有,好歹给个面试机会啊!!本 ...
- android位移动画的两种实现方式
在android开发,我们会常常使用到位移动画,普通情况下位移动画有两种实现方式.一种是直接通过java代码去实现,第二种是通过配置文件实现动画,以下是两种动画的基本是用法: 纯Java代码实现: / ...
- android带有文字的图片按钮的两种实现方式
android带有文字的图片按钮的两种实现方式 1). TextView对Button用相对布局,这要要求按钮的背景图片要留下空白位置给文字.这种方式开发比较简单,适合做一些风格一致的Button. ...
随机推荐
- windows测试登陆
测试工具我使用2种(Medusa和hydra): 第一种:Medusa支持端口登录但是不支持rdp协议,意思就是可以验证密码是否正确,新用户不会创建家目录: 使用方法: medusa -M smbnt ...
- “全栈2019”Java第八十一章:外部类能否访问嵌套接口里的成员?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 部署LNMP架构及其应用
部署企业LNMP架构 (一)首先安装nginx服务,具体请见另一篇关于nginx的博文. (二)安装MySQL数据库 .安装前准备 [root@localhost ~]# rpm -e mysql-s ...
- java 优秀文章集锦
一个简易的静态网页服务器 https://www.cnblogs.com/longfurcat/p/10355514.html 浅析Servlet执行原理 https://www.cnblo ...
- scrapy连接MongoDB
Scrapy中连接MongoDB所需要做的工作如下: 1.settings中需要设置的部分: # 启动管道组件 ITEM_PIPELINES = { 'QianChengWuYu.mongoDBPip ...
- 2016级算法第五次上机-B.Bamboo&APTX4844魔发药水
Bamboo&APTX4844魔发药水 题意 "于是,Bamboo耐着性子,看巫师从袖子里掏出 M 瓶时光泉水和 K 粒绿色能量.每瓶时光泉水重量为 c ,生发效果为 l:每粒绿色能 ...
- 查看已安装tensorflow版本以及安装路径
查看版本: import tensorflow as tf tf.__version__ 查看安装路径: tf.__path__
- jdbc连接oracle的url的三种写法
JDBC 链接oracle的三种URL写法 1.普通SID方式 jdbc:oracle:thin:username/password@x.x.x.1:1521:SID 2.普通ServerNa ...
- TCPIP详解卷一
strongswan man page. kernel-book IntroductionParallelPro then POSIX THread
- 使用docker部署STF服务(CentOS环境)
一.安装docker环境 更新软件 sudo yum update 执行安装 sudo yum install docker 查看docker镜像 sudo docker images 二.拉取相关镜 ...