在《Android 手机卫士--解析json与消息机制发送不同类型消息》一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下:
Java代码
- private Handler mHandler = new Handler() {
-
- public void handleMessage(android.os.Message msg) {
- switch (msg.what) {
- case UPDATE_VERSION:
-
-
- break;
- case ENTER_HOME:
-
- 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 {
-
-
-
-
-
-
- public static void show(Context context, String message) {
- Toast.makeText(context, message, 0);
- }
- }
如果当前版本号<服务器版本号,则出现对话框提示更新
Java代码
-
-
-
- protected void showUpdateDialog() {
- System.out.println("showUpdateDialog");
-
- 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) {
-
- downloadApk();
- }
- });
- builder.setNegativeButton("稍后再说", new OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
-
- enterHome();
- }
- });
- builder.show();
- }
实现的效果如下:
其中downloadApk()函数在下篇文章中实现