在《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开发网
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。