一个好的应用应该是对用户做出的任何动作都做出响应,如当用户请求登陆请求时,应该弹出正在加载中的对话框让用户知道应用正在请求中,实现的方式是用Thread+ProgressDialog,通过Handler来通知加载完成。实现过程比较简单我就不多说了,先看效果图:
不描述,直接代码,代码是拼凑,主要是想说明过程。
[Copy]View Code JAVA1
public class LoginActivity extends Activity{
public ProgressDialog loadingDialog;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
loginThread("test", "test");
}
/**
* 开始启动加载对话框
*/
public void loading(Activity act){
Log.d(Config.LOG_TAG, "Starting loading");
loadingDialog = new ProgressDialog(act);
loadingDialog.setTitle("正在加载数据...");
loadingDialog.setMessage("请稍等...");
loadingDialog.show();
}
/**
* 结束加载对话框
*/
public void stopLoading(){
Log.d(Config.LOG_TAG, "Stop loading");
if(loadingDialog != null){
loadingDialog.dismiss();
}
}
/**
* 开始登陆检查线程
*/
public void loginThread(final String uname, final String upwd){
Common.loading(this); //开始加载
Thread t = new Thread(new Runnable() {
@Override
public void run() {
//get方式传密码是不好的做法
String url = String.format("http://www.hcent.com/login/%s/%s", uname, upwd);
String data = NetWork.getHttpData(url);
//加载完成,发送消息
Message msg = loadHandle.obtainMessage(StatusConfig.LOADING_OVER);
Bundle bu = new Bundle();
bu.putString("data", data);
msg.setData(bu);
loadHandle.sendMessage(msg);
}
});
t.start();
}
/**
* 消息通知句柄
*/
public Handler loadHandle = new Handler(){
@Override
public void handleMessage(Message msg){
if(msg.what == StatusConfig.LOADING_OVER){ //加载完成
if(msg.getData().getString("data").equals("1")){ //登陆成功
}
}
Common.stopLoading();
}
};
}
上一篇: Seekbar+ViewFlipper实现切屏效果下一篇: SurfaceView实现闪烁星星效果图
此内容引自大愚微博,原文地址:http://www.mjix.com/archives/957.html
相关推荐
该计算器适用于android1.6以上平台,计算器能够求倒数、平凡、根号以及加减乘除,整个资源包含全部工程文件,适合android初学者,其中使用了菜单的制作技术、XML布局文件的使用,重要代码部分都进行了注释!...
百度导航,实现了驾车路线搜索,能够显示当前位置,获取经纬度
第一章 函数、极限、连续(全体) 第二章 一元函数微分学(全体) 第三章 一元函数积分学(全体) 常微分方程(全体) 第五章 向量代数与空间解析几何(数学... 汪诚义编 北京新东方大愚文化传播有限公司出版
留学申请推荐信写作模板新东方大愚留学系列丛书.不会写推荐信的同学可以看看,内涵丰富模板,以及写作要点 这是电子版的。
360硬件大师是一款专业易用的硬件工具,准确的硬件检测可以协助您辨别硬件的真伪,并且向您提供中文的硬件名称,让您的电脑配置一目了然,防止在购买电脑的时候被奸商蒙骗。此外还有温度监测、性能测试、一键电脑...
2013年计算机专业学生的毕业论文,该项目是:办公自动化系统,采用B/S架构,答辩PPT,系统源码,论文全部齐全,获得优秀毕业论文。但美工其实较差,主要集中在项目的设计流程与功能实现上获得好评!
使用朴素贝叶斯方法实现的中文文本分类算法
laravel语言中文包
全国计算机等级考试C语言二级公共基础复习资料
由于本人权限问题,每次只能上传60M,因此只能拆成多个包上传上来了。本包内容: 1、基本命令 2、vi编辑器的使用 3、基本查找命令 4、ftp工具使用
扫雷的程序源码,感兴趣的人可以看看,有自己的想法可以改进,大家交流
Argo WordPress主题是一个时尚、创意、单页、设计、企业展示主题,特点:简洁&时尚设计,自适应基于HTML5+CSS3设计,支持LESS 和CSS风格,轻松管理主题等。 网络上的Argo WordPress主题下载后,教程被破坏掉了,自己...
本文件包含了pdfView 运行的jar包和so文件 导入后可直接使用,mupdf的studio版本demo的源码(该版本可以解决pdf文件加密输入密码解密)
这是一个自己做的flash,是源文件,大家如果需要拿去看看,希望可以互相交流一下
大数加法程序 大数加法程序 大数加法程序 C,C++
dev c++可以编译运行,代码优化的还不是很好哈
微软.NET性能测试(英文版)
80c51 工业测量 数据采集 实际应用
关于R语言比较基础全面的教程,R的语法、数据结构、常用函数都有介绍
2014仿小米商城整站源码含数据,pc版 wap触屏版 无线支付宝使用的是ecsho模板。最原始资源也是我从网络上下载,但是均由各种问题,因此我进行了修改。传上来供大家参考。希望对大家有帮助。