美文网首页
Bmob自动更新

Bmob自动更新

作者: 梦乾tool | 来源:发表于2017-12-27 19:18 被阅读0次

    /*

    这里是bmob自动更新的文档:http://docs.bmob.cn/android/autoupdate/index.html?menukey=otherdoc&key=autoupdate

    Bmob的sdk里面不仅仅提供了对我们应用数据的操作,还提供自动更新组件。今天我就来说说在应用中加入自动更新功能。

    1:首先我们要在应用中加入相关的资源什么的。

    下载地址:Bmob下载地址自己去bmob官网看。www.bmob.cn

    资源下载地址:http://www.bmob.cn/static/res.zip

    然后我们把它全部的文件都移到自己的工程下。

    2:添加相应的权限,如下所示:

    还有Activity标签

    */

    <activity

                android:name="cn.bmob.v3.update.UpdateDialogActivity"

                  android:theme="@android:style/Theme.Translucent.NoTitleBar" >

            </activity>

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

    /*

    3:在OnCreate里面初始化sdk。

    这里在bmob反馈功能那里我已经将的很清楚了。你们可以去看看。

    */

    Bmob.initialize(this, 你的应用的appid);

    /*

    4:添加更新功能。

    首先你得在你的bmob后台建立一个更新表,当然bmob也提供了方法一句代码建立表(记住建立更新表的代码调用一次即可。)

    在OnCreate里面添加这句在bmob建立表。

    */

    BmobUpdateAgent.initAppVersion(this);

    /*

    现在我们就可以调用更新代码了。

    */

    BmobUpdateAgent.update(this);

    //默认仅wifi更新,当然bmob也提供方法设置可用流量更新。

    BmobUpdateAgent.setUpdateOnlyWifi(false)

    /*

    如果你的应用需要自定义更新功能可以这样做。

    */

    BmobUpdateAgent.setUpdateListener(new BmobUpdateListener() {

    @Override

    public void onUpdateReturned(int updateStatus, UpdateResponse updateInfo) {

        //根据updateStatus来判断更新是否成功

    if (updateStatus == UpdateStatus.Yes) {

    wl("发现更新");

    }else if(updateStatus == UpdateStatus.No){

    wl("您已是最新版本");

    }else if(updateStatus==UpdateStatus.IGNORED){

            wl("该版本已被忽略更新");

            }else if(updateStatus==UpdateStatus.TimeOut){

                    wl("查询出错或查询超时");

                          }

    }

    })

    /*

    除此之外,还有很多可以自定义的功能。

    SDK中为自动更新方式提供了强制更新功能,当开发者开启强制更新功能(即将后台的AppVersion表中的isforce字段置为true)时,客户端调用BmobUpdateAgent.update(context)方法后,更新对话框只保留“立即更新”按钮且不再支持回退操作。

    */

    /*

    忽略版本更新

    SDK中为自动更新方式提供了忽略版本更新功能,当用户勾选”忽略该版“选项时,再次调用BmobUpdateAgent.update(context)则不再出现版本更新对话框。

    注:强制更新和忽略版本更新只支持自动更新方式。

    */

    /*bmob的后台的表对应。

    字段名称 字段类型 是否必填 字段说明

    update_log String 是 更新日志

    version String 是 版本名称

    version_i Number 是 版本号

    platform String 是 平台,注意:"Android"为安卓平台标示,"ios"为ios平台标示

    target_size String 是 Apk文件大小

    isforce Boolean 否 是否强制更新

    path File 是/否 Apk文件

    android_url String 是/否 apk市场地址(path字段和本字段必填其中一个)

    channel String 否 渠道标示

    ios_url String 否 iOS app store地址(如果是ios记录一定要填写)

    */

    /*

    1、target_size为必填项,是为了解决当apk下载过程中切换网络导致的解析包出现错误的问题,请手动填入通过如下代码得到的target_size值(不需要单位):

    long target_size = new File("sdcard/应用名.apk").length()

    假如,上面的target_size的值为1023380,则只需要在target_size字段中填写1023380就行。

    */

    //当然最后得奉上一个源码

    //案例源码这里我们提供了一个使用BmobSDK自动更新功能的实例程序供大家参考。下载地址如下:https://github.com/bmob/bmob-android-demo-autoupdate

    作者:梦乾

           

    相关文章

      网友评论

          本文标题:Bmob自动更新

          本文链接:https://www.haomeiwen.com/subject/ycqpgxtx.html