在《Android 手机卫士--解析json与消息机制发送不同类型消息》一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下:
Java代码
- private Handler mHandler = new Handler() {
 - //
 - public void handleMessage(android.os.Message msg) {
 - switch (msg.what) {
 - case UPDATE_VERSION:
 - //弹出对话框,提示用户更新
 - //showUpdateDialog();
 - break;
 - case ENTER_HOME:
 - //进入应用程序主界面,activity跳转过程
 - enterHome();
 - break;
 - case URL_ERROR:
 - ToastUtil.show(getApplicationContext(), "url异常");
 - enterHome();
 - break;
 - case IO_ERROR:
 - ToastUtil.show(getApplicationContext(), "读取异常");
 - enterHome();
 - break;
 - case JSON_ERROR:
 - ToastUtil.show(getApplicationContext(), "json解析异常");
 - enterHome();
 - break;
 - default:
 - break;
 - }
 - };
 - };
 
因为弹出吐司操作比较常见,于是将其写成工具类进行简单的封装,方便以后调用。
于是新建工具类:ToastUtil.java
Java代码
- package com.wuyudong.mobilesafe.Utils;
 - import android.content.Context;
 - import android.widget.Toast;
 - public class ToastUtil {
 - // 打印吐司
 - /**
 - * @param context 上下文环境
 - * @param message 打印文本内容
 - */
 - public static void show(Context context, String message) {
 - Toast.makeText(context, message, 0);
 - }
 - }
 
如果当前版本号<服务器版本号,则出现对话框提示更新
Java代码
- /**
 - * 弹出对话框,提示用户更新
 - */
 - protected void showUpdateDialog() {
 - System.out.println("showUpdateDialog");
 - //对话框,是依赖于activity存在的
 - Builder builder = new AlertDialog.Builder(this);
 - //设置左上角图标
 - builder.setIcon(R.drawable.ic_launcher);
 - builder.setTitle("版本更新");
 - //设置描述内容
 - builder.setMessage(mVersionDes);
 - //积极按钮,立即更新
 - builder.setPositiveButton("立即更新", new OnClickListener() {
 - @Override
 - public void onClick(DialogInterface dialog, int which) {
 - //下载apk,apk链接地址,downloadUrl
 - downloadApk();
 - }
 - });
 - builder.setNegativeButton("稍后再说", new OnClickListener() {
 - @Override
 - public void onClick(DialogInterface dialog, int which) {
 - //取消对话框,进入主界面
 - enterHome();
 - }
 - });
 - builder.show();
 - }
 
实现的效果如下:

其中downloadApk()函数在下篇文章中实现
本文发布:Android开发网
        
	
	
	
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。