Android实现长时间等待界面

简介:

Android 实现等待界面,一般我们在执行比较费时的操作时,不能让界面线程阻塞,否则android发现太长时间阻塞的话,会弹出关闭该应用的对话框,所以我们一般把比较耗时的操作放在另一个线程去执行,然后界面线程该干什么干什么,等操作完成后,再通知界面线程完成相应的操作即可。

Message可以传回不同类型的值,可以应对不同需要。


//声明变量
private Button b1;
private ProgressDialog pd;
//定义Handler对象
private Handler handler =new Handler(){
   @Override
   //当有消息发送出来的时候就执行Handler的这个方法
   public void handleMessage(Message msg){
      super.handleMessage(msg);
      //只要执行到这里就关闭对话框
      pd.dismiss();
   }
};
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
}
private void processThread(){
      //构建一个下载进度条
      pd= ProgressDialog.show(MainHandler.this, "同步", "正在同步…");
      new Thread(){
         public void run(){
            //在这里执行长耗时方法
            longTimeMethod();
            //执行完毕后给handler发送一个消息
            handler.sendEmptyMessage(0);
         }
      }.start();
}
这样的写法比较简洁,运行效率也高。

相关文章
|
Android开发
flutter中实现仿Android端的onResume和onPause方法
flutter中实现仿Android端的onResume和onPause方法
|
6月前
|
SQL 人工智能 移动开发
Android 遍历界面所有的View
本文讲述如何遍历获取页面中所有的view,并输出对应的id,textview文本内容,imageview实际大小及设置的图片大小。 可用于检测android应用中的大图。
|
2月前
|
Android开发 数据安全/隐私保护
【Android Studio】简单的QQ登录界面
【Android Studio】简单的QQ登录界面
|
4月前
|
XML Java 调度
Android App网络通信中通过runOnUiThread快速操纵界面以及利用线程池Executor调度异步任务实战(附源码 简单易懂)
Android App网络通信中通过runOnUiThread快速操纵界面以及利用线程池Executor调度异步任务实战(附源码 简单易懂)
30 0
|
4月前
|
XML Android开发 数据格式
Android Studio App开发实战项目之实现淘宝电商App首页界面(附源码,可用于大作业参考)
Android Studio App开发实战项目之实现淘宝电商App首页界面(附源码,可用于大作业参考)
74 0
|
7月前
|
Android开发
Android获取已连接wifi的热点信息(上位机开发学习之多个界面切换编程)
Android获取已连接wifi的热点信息(上位机开发学习之多个界面切换编程)
183 0
|
9月前
|
存储 编解码 缓存
|
10月前
|
XML 编解码 架构师
Android智能平板应用,界面适配的另一种轻量级方法
Android智能平板应用,界面适配的另一种轻量级方法
|
11月前
|
XML Java Android开发
每日记录自己的Android项目(一)——UI界面
由ViewBinding绑定好XML布局和根布局和标题栏。 还有个字段 private AppBarConfiguration appBarConfiguration;
75 0
|
12月前
|
Java 数据库 Android开发
Android MTK平台 客制化系统来电界面(屏蔽 InCallUI 提供接口给客户自行展示来电去电页面)
Android MTK平台 客制化系统来电界面(屏蔽 InCallUI 提供接口给客户自行展示来电去电页面)
155 0