package zhou.demo;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
/**
* 异步的消息处理机制
* @author Administrator
*
*/
public class HandlerProgress extends Activity {
private ProgressBar bar =null;
private Button startButton = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bar = (ProgressBar)findViewById(R.id.bar);
startButton = (Button)this.findViewById(R.id.startButton);
startButton.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
bar.setVisibility(View.VISIBLE);
updateBarHandler.post(updateThread);
}
});
}
/**
* 使用匿名内部类 复写
*/
Handler updateBarHandler = new Handler(){
public void handleMessage(Message msg){
bar.setProgress(msg.arg1);
updateBarHandler.post(updateThread);//加入线程队列
}
};
Runnable updateThread = new Runnable(){
int i = 0;
public void run() {
System.out.println("开始线程");
i += 1;
Message msg = updateBarHandler.obtainMessage();
msg.arg1 = i;
try {
Thread.sleep(100);
} catch (Exception e) {
// TODO: handle exception
}
updateBarHandler.sendMessage(msg);//压入消息队列
if(i == 100){
updateBarHandler.removeCallbacks(updateThread);
}
}
};
}
发表评论
-
Android临时数据缓存方法
2011-07-22 22:58 2006学习Android的朋友欢迎加入:群 59324839(QQ) ... -
ContentProvider内容提供者
2011-07-22 22:58 1336学习Android的朋友欢迎加入:群 59324839(Q ... -
android网络
2011-07-22 22:57 1093学习Android的朋友欢迎加入:群 59324839(Q ... -
SQLite数据库
2011-07-22 22:55 872学习Android的朋友欢迎加入:群 59324839(QQ) ... -
Android Xml解析
2011-07-22 22:53 957学习Android的朋友欢迎加入:群 59324839(Q ... -
Android SharedPreferences
2011-07-22 22:53 1073学习Android的朋友欢迎加入:群 59324839(Q ... -
Android XMl写入
2011-07-22 22:51 1156学习Android的朋友欢迎加入:群 59324839(Q ... -
Android 权限配置
2011-07-22 22:51 1473学习Android的朋友欢迎加入:群 59324839(Q ... -
Android 文件操作
2011-07-22 22:45 941学习Android的朋友欢迎加入:群 59324839(QQ) ... -
Android Dialog的使用
2011-07-22 22:44 1047学习Android的朋友欢迎加入:群 59324839(QQ) ... -
android 技术讨论群(QQ)
2011-07-04 22:18 412android 学习群; 可供广大群从参加! 初学者欢 ... -
SQL判断一个表在系统中是否存在
2011-07-03 18:49 1604/** * 判断某张表是否存在 * @ ... -
android 对话框应用
2011-06-28 00:21 926啥都别说了,看效果吧! new AlertDialog ... -
ContentProvider
2011-06-27 21:13 3498在 Android中,对于数据的存贮,有几种方式,有文件方式 ... -
android 权限大全
2011-06-14 00:19 920java.net.SocketException: Perm ... -
android GUI线程安全
2011-06-11 18:28 1314Activity:运行于主线程。因Android的GUI是 ... -
android Intent和菜单的使用
2011-06-11 01:55 901首先我们需要知道Intent这个东西是用来干什么的: ... -
android 下载程序
2011-06-10 00:34 1071HttpDownloader 文件: package zho ... -
android SQLite使用
2011-06-10 00:33 1441package zhou.demo.sql; impor ... -
android Handler使用
2011-06-10 00:31 925package zhou.demo; import andr ...
相关推荐
ProgressBar progressBar = findViewById(R.id.progress_bar); progressBar.setProgress(50); // 设置50%的进度 ``` `Notification`则是Android系统提供的一个强大功能,它可以在状态栏中显示消息,并允许用户在...
本文将深入探讨Android的AsyncTask及其与Handler的对比。 **AsyncTask详解** AsyncTask是Android SDK提供的一种轻量级的异步处理机制,特别适合于执行短时间的、与UI相关的后台任务。它的主要优点在于简化了UI更新...
例如,SVProgressHUD(Smart and Very Pretty UI for Showing Progress HUD)是一个流行的开源库,用于快速显示加载指示器。Android-SVProgressHUD-master可能包含这个库的源码,便于开发者研究和修改。 3. ...
项目中可能使用了`AsyncTask`,`Handler`,或者`ExecutorService`等Android多线程机制。 通过分析和学习"MyFFmpegDemo"项目,开发者可以了解如何在Android环境中正确集成和使用FFmpeg,这对于开发涉及多媒体处理的...
这里说有设计思想是我根据查看Android源代码提炼出来的代码逻辑,所以不会跟Google工程师的原始设计思想100%符合(也有可能是0%),但是本文一定可以帮助你理解AsyncTask,也可能有一些你以前没有发现的内容。...
[ 4.053550] Registering SWP/SWPB emulation handler [ 4.059269] [rfkill]: rfkill set power 1 [ 4.063652] gpio ap6xxx_bt_regon set val 0, act val 0 rootroot@rootroot-E400:~/wyb/ap6212a0_a33_sc3817r$ ...
[ 4.053550] Registering SWP/SWPB emulation handler [ 4.059269] [rfkill]: rfkill set power 1 [ 4.063652] gpio ap6xxx_bt_regon set val 0, act val 0 正常启动的BT加载: [ 3.207764] Bluetooth: HCI UART ...
4)....Added "--el_injectjcl", "--el_createjcl", and "--el_createdbg" command-line options for ecc32/emake to inject JEDI/JCL debug info, create .jdbg file, and create .dbg file (Microsoft debug format...
在Android中,我们通常使用`AsyncTask`、`Handler`、`Thread`或第三方库如Retrofit、Volley来实现。这里提到的是`AsyncTask`,这是一个轻量级的异步任务框架,适用于执行后台计算并更新UI的操作。`AsyncTask`包含三...
[ 4.053550] Registering SWP/SWPB emulation handler [ 4.059269] [rfkill]: rfkill set power 1 [ 4.063652] gpio ap6xxx_bt_regon set val 0, act val 0 正常启动的BT加载: [ 3.207764] Bluetooth: HCI UART ...
[ 4.053550] Registering SWP/SWPB emulation handler [ 4.059269] [rfkill]: rfkill set power 1 [ 4.063652] gpio ap6xxx_bt_regon set val 0, act val 0 正常启动的BT加载: [ 3.207764] Bluetooth: HCI UART ...