Handler, AsyncTask用法简单示例
package com.jim.testapp; import android.app.Activity;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button; class MyHandler extends Handler
{
private Activity mActivity;
private Button btn;
public MyHandler(Activity activity) {
mActivity = activity;
btn = (Button)activity.findViewById(R.id.button);
} @Override
public void handleMessage(Message msg) {
Integer integer = (Integer) msg.obj;
switch (msg.what) {
case MainActivity.MSG_ONE:
btn.setText(integer.toString());
break;
}
}
} class MyAsyncTask extends AsyncTask<String, Integer, Integer> { private MainActivity mActivity;
private Button btn; public MyAsyncTask(MainActivity activity) {
mActivity = activity;
btn = (Button)activity.findViewById(R.id.button);
} @Override
protected void onPreExecute() {
super.onPreExecute();
btn.setText("Loading start");
} @Override
protected void onPostExecute(Integer integer) {
super.onPostExecute(integer);
btn.setText("Loading finished");
Log.i(MainActivity.TAG, "Result is " + integer);
} @Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
btn.setText("Loading " + values[0] + "%");
} @Override
protected Integer doInBackground(String... params) {
Log.i(MainActivity.TAG, params[0]);
for (int i = 1; i <= 10; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
publishProgress(i*10);
}
return 0;
}
} public class MainActivity extends AppCompatActivity { public static final String TAG = "jimtest";
public static final int MSG_ONE = 1;
public static final int MSG_TWO = 2; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //MyAsyncTask task = new MyAsyncTask(this);
//task.execute("i am the param"); final MyHandler h = new MyHandler(this); Runnable r = new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
h.obtainMessage(MSG_ONE, new Integer(i)).sendToTarget();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
} }
}; new Thread(r).start(); }
}
Handler, AsyncTask用法简单示例的更多相关文章
- Android handler的使用简单示例
Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMes ...
- ACEXML解析XML文件——简单示例程序
掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...
- demo工程的清单文件及activity中api代码简单示例
第一步注册一个账户,并创建一个应用.获取app ID与 app Key. 第二步下载sdk 第三步新建工程,修改清单文件,导入相关的sdk文件及调用相应的api搞定. 3.1 修改清单文件,主要是加入 ...
- spring-servlet.xml简单示例
spring-servlet.xml简单示例 某个项目中的spring-servlet.xml 记下来以后研究用 <!-- springMVC简单配置 --> <?xml versi ...
- Android中ProgressDialog的简单示例
网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下: 建立android工程等工作都略去,Google一下就可以了. 下面来介绍主 ...
- Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...
- springMVC源码分析--异常处理机制HandlerExceptionResolver简单示例(一)
springMVC对Controller执行过程中出现的异常提供了统一的处理机制,其实这种处理机制也简单,只要抛出的异常在DispatcherServlet中都会进行捕获,这样就可以统一的对异常进行处 ...
- [转]Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装 ...
- Python Thrift 简单示例
本文基于Thrift-0.10,使用Python实现服务器端,使用Java实现客户端,演示了Thrift RPC调用示例.Java客户端提供两个字符串参数,Python服务器端计算这两个字符串的相似度 ...
随机推荐
- maven项目mapper文件加载不到classpath问题解决方案
在调试我的maven项目的过程种,当我执行maven install时总提示找不到mapper.xml文件,看了一下大家的说法,都说是maven没有把src/main/java下的mapper包记载到 ...
- [群晖] DSM6.2用winscp通过root权限登录
http://www.nas1.cn/thread-86048-1-1.html 以前DSM6.0的时候可以通过改root密码的方式,来通过winscp来登录nas,这样可以获得最高权限可以任意修改文 ...
- MySql存储过程批量删除多个数据库中同名表中的指定字段
1. 创建存储过程batchDeleteField:删除所有名称为"MyDB_"开头的数据库中的指定字段 -- ---------------------------- -- Pr ...
- Python玩转人工智能最火框架 TensorFlow应用实践
Python玩转人工智能最火框架 TensorFlow应用实践 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课 ...
- 代理模式(Proxy、Subject、RealSubject)(代购火车票)
.(为其他对象提供一种代理以控制对这个对象的访问.) 在实际的软件开发中,我们经常面临着对一个对象进行访问控制的问题,由于跨越网络或安全方面等原因不能直接或不需要直接被访问,直接访问的代价会给系统带来 ...
- phpstudy安装好之后mysql无法启动(亲测可行)
安装好phpstudy后,Apache可以启动,Mysql无法启动. 尝试解决办法:可能是之前已经装过Mysql,要把系统服务里面的MySQL删除,留下MySQLa服务. 在cmd命令行下输入:sc ...
- 代码规范:在Keil5中使用代码格式化工具Astyle(插件)
r如果日志提示没有被格式化,那么检查你的文件是不是有错误,编译一下,没错误的时候才能格式化 keil mdk都啥年代了每次更新还是都无法解决补全bug也不添加格式化工具 所以这里要用一个第三方插件ht ...
- Java图片高保真缩放工具类
Java图片高保真缩放 package com.xindai.auth.service.util; import java.awt.image.BufferedImage; import java.i ...
- 插头DP智障操作合集
今天一共四道插头DP[其实都差不多],智障错误出了不下五个:D 来,让我好好数落我自己一下 直接写代码注释里吧 Eat the Trees #include<iostream> #incl ...
- VI/VIM编辑器快捷键
常用快捷键: Ctrl+f 向下翻页 Ctrl+b 向上翻页 G 移动到文件最后一行 gg 移动到文件第一行 N+回车 ...