手机安全卫士开发系列(4)——显示更新对话框
2013-08-14 22:41
423 查看
在上一篇文章中我们从服务器读取配置并解析成了UpdateInfo对象。这一篇文章将介绍如何将信息比对,并显示更新对话框,具体流程如下:
![](https://img-blog.csdn.net/20130814195846609?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF3YW5nYW5iYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
在SplashActivity的onCreate方法中判读服务器版本号和客户端版本号是否相同
获取客户端当前版本号的方法
获取服务器版本号并判断是否需要升级
如果版本号不同则显示升级对话框
源代码下载:http://download.csdn.net/detail/lxq_xsyu/5947441
//判读服务器的版本号和客户端的版本号是否相同 if(isNeedUpdate(versiontext)){ Log.i(TAG, "弹出升级对话框"); showUpdateDialog(); }
在SplashActivity的onCreate方法中判读服务器版本号和客户端版本号是否相同
获取客户端当前版本号的方法
/** * 获取当前应用程序的版本号 * * @return */ private String getVersion() { try { //包管理服务 PackageManager manager = getPackageManager(); //第一个参数为包名 PackageInfo info = manager.getPackageInfo(getPackageName(), 0); return info.versionName; } catch (Exception e) { e.printStackTrace(); return "版本号未知"; } }
获取服务器版本号并判断是否需要升级
/** * * @param version 当前客户端的版本信息 * @return 是否需要更新 */ public boolean isNeedUpdate(String versiontext){ Log.i(TAG, "进来判断是否需要更新"); try { UpdateInfoService service = new UpdateInfoService(this); System.out.println(service); info = service.getUpdateInfo(R.string.updateurl); System.out.println(info.getVersion()); String version = info.getVersion(); Log.i(TAG, "服务器版本是"+version); if(versiontext.equals(version)){ Log.i(TAG, "版本号相同无需升级,进入主界面"); return false; }else{ Log.i(TAG, "版本号不同,需要升级"); return true; } } catch (Exception e) { e.printStackTrace(); Toast.makeText(this , "获取更新信息异常,进入主界面", Toast.LENGTH_SHORT); return false; } }
如果版本号不同则显示升级对话框
/** * 升级对话框 */ public void showUpdateDialog(){ AlertDialog.Builder builder = new Builder(this); builder.setIcon(R.drawable.icon5); builder.setTitle("升级提醒"); builder.setMessage(info.getDescription()); //让用户不能取消对话框 builder.setCancelable(false); builder.setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Log.i(TAG, "下载Apk文件" + info.getApkurl()); } }); builder.setNegativeButton("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Log.i(TAG, "用户取消,进入程序主界面"); } }); builder.create().show(); }
源代码下载:http://download.csdn.net/detail/lxq_xsyu/5947441
相关文章推荐
- [置顶] 手机安全卫士开发系列(4)——显示更新对话框
- 手机安全卫士开发系列(4)——显示更新对话框
- 手机安全卫士开发系列(5)——自动更新
- 手机安全卫士开发系列(5)——自动更新
- 手机安全卫士开发系列(5)——自动更新
- 手机安全卫士开发系列(3)——获取更新的服务器配置
- 手机安全卫士开发系列(3)——获取更新的服务器配置
- S3C2416裸机开发系列十一_RGB屏驱动显示
- MOSS2007开发Demo系列(2)——用GridView显示SharePoint网站中SPList的数据(SPList)
- 更新完畢[轉]31個iPhone软件开发实例教程, 此系列教程幾乎全部使用Utility模板
- IBatisNet 开发指南系列文章更新
- Android 开发 根据activity前台状态显示通知栏信息或对话框(推送/本地service)
- Android Studio系列(二)使用AS开发/调试整个android系统源代码(不定时更新)
- 【Qt5开发及实例】17、一个对话框的坐标参数显示
- 手机安全卫士开发系列(2)——splash界面
- IOS百度地图开发系列-百度地图不能正常显示
- 手机安全卫士开发系列(1)——功能列表
- 树莓派开发系列教程4——树莓派网络与更新配置(有线、无线)
- 手机安全卫士开发系列(7)——知识点整理(1)
- Android Studio系列(二)使用AS开发/调试整个android系统源代码(不定时更新)