android 开发零起步学习笔记(二十九):Android笔记:实现加载的progressDialog之后跳转到程序主界面
来源:互联网 发布:淘宝上怎么定制衣服 编辑:程序博客网 时间:2024/05/29 08:41
因为考虑到有些程序加载时间相对较长,所以在启动主界面之前,实现一个加载的progressDialog对话框来延缓,相对来说可以提高用户体验度。
如果是直接进入主界面,即activity,界面因为加载时间长,一片漆黑,让用户老觉得这程序不行。
贴出源码:
方法一:
- public class LoadingActivity extends Activity {
- private ProgressDialog dialog;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- //设置一个progressdialog的弹窗
- dialog = ProgressDialog.show(this, null, "程序正在加载,请稍候...", true, false);
- //启动一个处理loading业务的线程
- new LoadingThread(this).start();
- }
- private class LoadingThread extends Thread {
- private LoadingActivity activity;
- public LoadingThread(LoadingActivity act) {
- Log.d(">>>>>LoadingThread", "构造方法");
- activity = act;
- }
- public void run() {
- Log.d(">>>>>LoadingThread", "传递message");
- //*********************
- // 处理业务
- //*********************
- //发送消息
- activity.mHandler.sendEmptyMessage(0);
- }
- }
- //处理跳转到主Activity
- private Handler mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- // TODO Auto-generated method stub
- Log.d(">>>>>Mhandler", "开始handleMessage");
- Intent mIntent = new Intent();
- mIntent.setClass(LoadingActivity.this, PalmHospital_main_Activity.class);
- startActivity(mIntent);
- LoadingActivity.this.finish();
- Log.d(">>>>>Mhandler", "LoadActivity关闭");
- if (dialog.isShowing())
- dialog.dismiss();
- }
- };
- }
public class LoadingActivity extends Activity { private ProgressDialog dialog; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //设置一个progressdialog的弹窗 dialog = ProgressDialog.show(this, null, "程序正在加载,请稍候...", true, false); //启动一个处理loading业务的线程 new LoadingThread(this).start(); } private class LoadingThread extends Thread { private LoadingActivity activity; public LoadingThread(LoadingActivity act) { Log.d(">>>>>LoadingThread", "构造方法"); activity = act; } public void run() { Log.d(">>>>>LoadingThread", "传递message"); //********************* //处理业务 //********************* //发送消息 activity.mHandler.sendEmptyMessage(0); } } //处理跳转到主Activity private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub Log.d(">>>>>Mhandler", "开始handleMessage"); Intent mIntent = new Intent(); mIntent.setClass(LoadingActivity.this, PalmHospital_main_Activity.class); startActivity(mIntent); LoadingActivity.this.finish(); Log.d(">>>>>Mhandler", "LoadActivity关闭"); if (dialog.isShowing()) dialog.dismiss(); } };}
方法二:相对来说要容易理解一点,贴图
- public class LoadingActivity extends Activity {
- private ProgressDialog dialog;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- //设置一个progressdialog的弹窗
- dialog = ProgressDialog.show(this, "加載中...", "正在搜尋。。。。,請稍後!");
- Thread thread = new Thread(new Runnable() {
- public void run() {
- //do...
- Message message = new Message();
- message.what = 0;
- mHandler.sendMessage(message);
- }
- });
- thread.start();
- }
- //处理跳转到主Activity
- private Handler mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- // TODO Auto-generated method stub
- Log.d(">>>>>Mhandler", "开始handleMessage");
- Intent mIntent = new Intent();
- mIntent.setClass(LoadingActivity.this, PalmHospital_main_Activity.class);
- startActivity(mIntent);
- LoadingActivity.this.finish();
- Log.d(">>>>>Mhandler", "LoadActivity关闭");
- if (msg.what == 0) {
- dialog.dismiss();
- }
- }
- };
- }
0 0
- android 开发零起步学习笔记(二十九):Android笔记:实现加载的progressDialog之后跳转到程序主界面
- Android笔记:实现加载的progressDialog之后跳转到程序主界面
- android实现加载的progressDialog之后跳转到程序主界面
- android 开发零起步学习笔记(十九):android使用全局变量的两种方法
- android 开发零起步学习笔记(二):熟悉Android studio的目录结构
- android 开发零起步学习笔记(十一):界面切换+几种常用界面切换效果
- android 开发零起步学习笔记(十三):Android 实现多页界面左右滑动切换效果
- android 开发零起步学习笔记(二十一):AsyncTask的基本用法
- android 开发零起步学习笔记(二十四):Android:打造“万能”Adapter与ViewHolder
- android 开发零起步学习笔记(二十五):Android layout属性大全
- android 开发零起步学习笔记(二十六):安卓输入法相关知识点 android InputMethodManager
- android 开发零起步学习笔记(二十七):android edittext不自动获取焦点
- android 开发零起步学习笔记(二十八):15 个 Android 通用流行框架大全
- android 开发零起步学习笔记(十):UI控件动态加载机制浅析
- android 开发零起步学习笔记(二十三): Android 对话框AlertDialog和AlertDialog.Builder两者的区别
- android 开发零起步学习笔记(五):布局组件
- android 开发零起步学习笔记(三):Android权限标签uses-permission的书写位置
- android 开发零起步学习笔记(二十):Android开发笔记:如何使用预先制作好的SQLite数据库(整理自网络)
- Loading additional iptables modules: ip_conntrack_netbios_n[FAILED]
- Android Studio安装、配置史上最全图解
- Java config 配置文件简单应用
- 367. Valid Perfect Square
- Java集合——Stack和Vector应用实例
- android 开发零起步学习笔记(二十九):Android笔记:实现加载的progressDialog之后跳转到程序主界面
- 十进制的Sin函数图像数组
- 我的第一个博客
- JavaMail开发
- 数据结构 优先队列 C语言实现
- SecureCRT使用
- (一)算法分析
- IO流_键盘录入学生信息按照总分排序并写入文本文件案例
- Android 6.0 设备上自定义文本操作栏