zoukankan      html  css  js  c++  java
  • Android 手机卫士--弹出对话框

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

        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;
                }
            };
        };

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

    本文地址:http://www.cnblogs.com/wuyudong/p/5902161.html,转载请注明源地址。

    于是新建工具类:ToastUtil.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);
        }
    }

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

        /**
         * 弹出对话框,提示用户更新
         */
        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()函数在下篇文章中实现

  • 相关阅读:
    主线程——main线程
    进程和线程概念及原理
    抓取网贷之家的数据爬虫
    感知哈希算法的java实现
    最短路径—Dijkstra算法和Floyd算法
    关于图像特征提取
    hive学习之WordCount单词统计
    pig、hive以及hbase的作用
    zookeeper入门知识
    hadoop文件系统浅析
  • 原文地址:https://www.cnblogs.com/wuyudong/p/5902161.html
Copyright © 2011-2022 走看看