上传两个版本
查询更新信息接口
实体类
/**
* 更新信息
*/
public class UpdateInfo {
@SerializedName("appname")
public String appName; // 应用名称
@SerializedName("type")
public String type;
@SerializedName("versioncode")
public String versionCode;
@SerializedName("versionname")
public String versionName;
@SerializedName("updatecontent")
public String updateContent;
@SerializedName("size")
public long size;
@SerializedName("updatetime")
public long updateTime;
public String url;
}
1.首先查询是否有新版本
/**
* 升级信息
*/
public void getApkUrl(String appName, String type, String version, Subscriber<UpdateInfo>subscriber) {
Observable<ApiResponse<UpdateInfo>> observable = api().getApkUrl(appName, type, version);
toSubscribe(observable, subscriber);
}
appName必须对应名字
type必须对应类型
version必须对应版本号
UpdateAppUtils.checkUpdate(MainActivity.this, new UpdateAppUtils.UpdateCallback() {
@Override
public void onSuccess(final UpdateInfo updateInfo) {
//判断当前版本是否小于服务器的版本
if(Integer.parseInt(updateInfo.versionCode) > AppUtil.getAppVersionCode(MainActivity.this)){
//升级
}
}
@Override
public void onError() {
}
});
请求成功,有更新
{"success":true,"code":200,"data":{"appname":"YiXueCheSchoolApp.apk","type":"test","versioncode":26,"versionname":"1.3.0(debug)","updatecontent":"","size":10483112,"updatetime":1494232475000,"url":"http://192.168.15.125:8080/VerCheckFiles/7ee4e6081895b82ef193b23f1dd07c4486f9619d.apk "},"message":"需要更新"}