在《Android 手机卫士--解析json与消息机制发送不同类型消息》一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下:

Java代码
  1. private Handler mHandler = new Handler() {  
  2.     //  
  3.     public void handleMessage(android.os.Message msg) {  
  4.         switch (msg.what) {  
  5.         case UPDATE_VERSION:  
  6.             //弹出对话框,提示用户更新  
  7.             //showUpdateDialog();  
  8.             break;  
  9.         case ENTER_HOME:  
  10.             //进入应用程序主界面,activity跳转过程  
  11.             enterHome();  
  12.             break;  
  13.         case URL_ERROR:  
  14.             ToastUtil.show(getApplicationContext(), "url异常");  
  15.             enterHome();  
  16.             break;  
  17.         case IO_ERROR:  
  18.             ToastUtil.show(getApplicationContext(), "读取异常");  
  19.             enterHome();  
  20.             break;  
  21.         case JSON_ERROR:  
  22.             ToastUtil.show(getApplicationContext(), "json解析异常");  
  23.             enterHome();  
  24.             break;  
  25.         default:  
  26.             break;  
  27.         }  
  28.     };  
  29. };  

  因为弹出吐司操作比较常见,于是将其写成工具类进行简单的封装,方便以后调用。

  于是新建工具类:ToastUtil.java

Java代码
  1. package com.wuyudong.mobilesafe.Utils;  
  2.   
  3. import android.content.Context;  
  4. import android.widget.Toast;  
  5.   
  6. public class ToastUtil {  
  7.     // 打印吐司  
  8.       
  9.     /** 
  10.      * @param context    上下文环境 
  11.      * @param message    打印文本内容 
  12.      */  
  13.     public static void show(Context context, String message) {  
  14.         Toast.makeText(context, message, 0);  
  15.     }  
  16. }  

  如果当前版本号<服务器版本号,则出现对话框提示更新

Java代码
  1. /** 
  2.  * 弹出对话框,提示用户更新 
  3.  */  
  4. protected void showUpdateDialog() {  
  5.     System.out.println("showUpdateDialog");  
  6.     //对话框,是依赖于activity存在的  
  7.     Builder builder = new AlertDialog.Builder(this);  
  8.     //设置左上角图标  
  9.     builder.setIcon(R.drawable.ic_launcher);  
  10.     builder.setTitle("版本更新");  
  11.     //设置描述内容  
  12.     builder.setMessage(mVersionDes);  
  13.     //积极按钮,立即更新  
  14.     builder.setPositiveButton("立即更新"new OnClickListener() {  
  15.           
  16.         @Override  
  17.         public void onClick(DialogInterface dialog, int which) {  
  18.             //下载apk,apk链接地址,downloadUrl  
  19.             downloadApk();  
  20.         }  
  21.     });  
  22.     builder.setNegativeButton("稍后再说"new OnClickListener() {  
  23.         @Override  
  24.         public void onClick(DialogInterface dialog, int which) {  
  25.             //取消对话框,进入主界面  
  26.             enterHome();  
  27.         }  
  28.     });  
  29.     builder.show();  
  30. }  

  实现的效果如下:

Android手机卫士(四):弹出对话框

  其中downloadApk()函数在下篇文章中实现

本文发布:Android开发网
本文地址:http://www.jizhuomi.com/android/example/630.html
2016年11月23日
发布:鸡啄米 分类:Android开发实例 浏览: 评论:1