某单位人事信息查询APP自动升级解决方案

1      需求和目标

1.1  用户需求

APP在登录时,自动检测新版本,如果有新版本则提示升级。如果不升级则退出应用。

1.2  设计目标

通用的自动升级解决方案,可以推广到其他项目中。

2      升级现状

应用升级时,需要把打包好的APK拷贝到目标终端,然后安装升级。由此带来两点问题,一是新版本升级对用户体验不好;二是增加了实施工作。

3      需求分析

从用户的角度出发,分析功能需求,强制升级法,自动升级包括以下步骤:

    1.  用户开启应用,进入登录页面;

    2.  登录页面加载完成后,检测当前版本是否为最新版本;

        a)  如果是最新版本,结束(升级流程);

        b)  如果不是最新版本,提示用户升级;

                 i.   如果用户选择升级,则开始下载应用,下载完成后安装升级包,完成升级流程;

            ii. 如果用户选择不升级,则退出应用。

4      方案设计

从系统角度出发,结合用户需求,设计系统应具备的功能。

4.1  应用端

应用端功能设计,主要功能有:

    1.  检测新版本;

    2.   获取当前版本;

    3.   获取新版本下载地址;

    4.   新版本下载;

    5.   更新逻辑控制;

    6.   记录用户更新历史

4.2  服务端

服务端功能设计,因为是使用WebService提供服务,所以接口至少应涵盖应用端的调用需求,主要接口应包括的功能有:

    1.   检测新版本;

    2.   获取新版本下载地址;

    3.   应用更新记录(记录谁在什么时间获取了哪个版本);

    4.   版本下载次数计算

4.3  数据库

数据库设计,只设计表结构,不涉及具体的数据库软件,便于扩充到其他数据库,当前为SQL Server

APP表:管理多个APP的基本信息

字段

说明

备注

ID

自动编号

 

Name

应用名称

 

Mark

应用标识

 

Logo

图标

 

Introduce

介绍

 

 APP_Version表:管理每个APP的版本

字段

说明

备注

ID

自动编号

 

Mark

应用标识

 

Version

版本号

 

ServerPath

下载路径

 

IsLastest

最新版本标识

 

ReleaseTime

发布时间

 

CRT

下载次数(点击率)

在APP点击日志表上增加触发器,自动计算CRT,或者用程序实现

 APP_ChangeLog表:记录用户更新的历史信息

字段

说明

备注

ID

自动编号

 

UID

用户标识

 

Mark

应用标识

记录用户获取的应用

Version

版本

记录用户获取的应用版本

FetchTime

获取时间

记录用户获取应用的时间

 5      实现

5.1  应用端

关键代码:

获取当前应用版本号

appcan.widgetOne.getCurrentWidgetInfo(function(err, data,dataType, opId) {

   if (err) {

       //获取当前版本号失败

       //appcan.window.alert("获取当前版本号失败");

   } else {

       //成功后,用当前版本号处理一些事情

       var currentVersion = JSON.parse(data);

       var currentVersionNo = currentVersion.version;

       //appcan.window.alert("当前版本号:" + currentVersionNo);

}

下载远程文件

uexWindow.open('dd', '0', serverUrl, 0, 1,1, 0, 500);

5.2  服务端

IIS配置

在IIS的MIME类型中,配置增加.apk扩展名,以便支持.apk格式文件的下载

扩展名

MIME类型

.apk

application/vnd.android.package-archive

主要方法

///<summary>

///根据应用标识获取最新版本信息

///</summary>

publicvoid GetLastestVersion(string Mark);

///<summary>

///记录用户更新历史

///</summary>

publicvoid RecordUpdateHistory(string UID, string Mark, string Version);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值