您的位置:68399皇家赌场 > 集群主机 > Android 版本更新(自定义接口公约卡塔尔国

Android 版本更新(自定义接口公约卡塔尔国

发布时间:2020-03-25 20:31编辑:集群主机浏览(154)

    开源的美食指南app,菜的品性可珍藏,可看历史记录

    1. 下载到patch文件后,你只供给写一句话,就足以合成新本子apk了。
    • 利用系统弹窗提示

    本项目进程条使用的是代码家的「NumberProgressBar」

    皇家赌场 1apk下载二维码apk下载地址:

    本框架借鉴了AppUpdate中的部分思忖和UI分界面,将版本更新中的各部分环节分离出来,形成了之类多少个部分:

    自定义接口左券

    自定义接口左券,依照自个儿项指标接口,本人完结 parseJson 方法

            Map<String, String> params = new HashMap<String, String>();
    
            params.put("key1", "value1");
            params.put("key2", "value2");
            params.put("key3", "value3");
            params.put("key4", "value4");
    
    
            new UpdateAppManager
                    .Builder()
                    //当前Activity
                    .setActivity(this)
                    //实现httpManager接口的对象
                    .setHttpManager(new UpdateAppHttpUtil())
                    //设置请求方式 默认get,
                    .setPost(false)
                    //更新地址
                    .setUpdateUrl("https://raw.githubusercontent.com/WVector/AppUpdateDemo/master/json/json.txt")
                    //添加自定义参数
                    .setParams(params)
                    //设置头部
                    .setTopPic(R.mipmap.top_5)
                    //设置主题色
                    .setThemeColor(0xff034ea0)
                    .build()
                    //检测是否有新版本
                    .checkNewApp(new UpdateCallback() {
                        /**
                         * 解析json,自定义协议
                         *
                         * @param json 服务器返回的json
                         * @return UpdateAppBean
                         */
                        @Override
                        protected UpdateAppBean parseJson(String json) {
                            UpdateAppBean updateAppBean = new UpdateAppBean();
                            try {
                                JSONObject jsonObject = new JSONObject(json);
                                updateAppBean
                                        //是否更新Yes,No
                                        .setUpdate(jsonObject.getString("update"))
                                        //新版本号
                                        .setNew_version(jsonObject.getString("new_version"))
                                        //下载地址
                                        .setApk_file_url(jsonObject.getString("apk_file_url"))
                                        //大小
                                        .setTarget_size(jsonObject.getString("target_size"))
                                        //更新内容
                                        .setUpdate_log(jsonObject.getString("update_log"))
                                        //是否强制更新
                                        .setConstraint(jsonObject.getBoolean("constraint"));
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                            return updateAppBean;
                        }
    
                        /**
                         * 有新版本
                         *
                         * @param updateApp        新版本信息
                         * @param updateAppManager app更新管理器
                         */
                        @Override
                        public void hasNewApp(UpdateAppBean updateApp, UpdateAppManager updateAppManager) {
                            updateAppManager.showDialog();
                        }
    
                        /**
                         * 网络请求之前
                         */
                        @Override
                        public void onBefore() {
                            CProgressDialogUtils.showProgressDialog(MainActivity.this);
                        }
    
                        /**
                         * 网路请求之后
                         */
                        @Override
                        public void onAfter() {
                            CProgressDialogUtils.cancelProgressDialog(MainActivity.this);
                        }
    
                        /**
                         * 没有新版本
                         */
                        @Override
                        public void noNewApp() {
                            Toast.makeText(MainActivity.this, "没有新版本", Toast.LENGTH_SHORT).show();
                        }
                    });
    

    一时一刻未到位效率或缺欠:

    • 首页滑动图广告唯有效果图
    • 接待页面固定图片

    I am Angry!!! 你们如此搞是丰富的!!!

    • 本子更新检查器IUpdateChecker:检查是不是有流行版本。

    • 本子更新拆解解析器IUpdateParser:分析服务端重返的数量结果。

    • 本子更新提醒器IUpdatePrompter:彰显最新的版本消息。

    • 本子更新下载器IUpdateDownloader:下载最新的本子APK安装包。

    • 互连网诉求服务接口IUpdateHttpService:定义了开展网络央浼的相干接口。

    运用暗中同意的接口协议

    1. 多少出自与集中数据,请节约次数哦!!!
    2. 重要采纳Xutils框架开垦
    3. 以在此以前的练手项目为底工,修复一些bug,加多了检测更新功用。更新使用:
    4. 该类型顺应初读书人练习
    1. 在您项目根build.gradle加多代码:

    皇家赌场 2update_3.png

    功用介绍

    • [x] 达成app版本更新
    • [x] 自定义接口左券,能够不转移现成项指标说道就可以接收
    • [x] 支持get,post请求
    • [x]皇家赌场, 扶植进程展现,对话框进程条,和布告栏进程条展现
    • [x] 支持后台下载
    • [x] 扶持强迫更新
    • [x] 援助轻便核心色配置(可以自行从顶上部分图片提取主色卡塔尔(قطر‎
    • [x] 完美扶助android7.0

    2.2、初始化XUpdate

    在Application进行最初化配置:

    XUpdate.get() .isWifiOnly //默认设置只在wifi下检查版本更新 .isGet //默认设置使用get请求检查版本 .isAutoMode //默认设置非自动模式,可根据具体使用配置 .param("VersionCode", UpdateUtils.getVersionCode //设置默认公共请求参数 .param("AppKey", getPackageName// .debug .setOnUpdateFailureListener(new OnUpdateFailureListener() { //设置版本更新出错的监听 @Override public void onFailure(UpdateError error) { ToastUtils.toast(error.toString .setIUpdateHttpService(new OKHttpUpdateHttpService //这个必须设置!实现网络请求功能。 .init; //这个必须初始化
    

    花色地址「AppUpdateDemo」

    材质Ritter别详尽的介绍了什么在您本人的Android项目中配备增量更新功效,而其实那几个布局进程对生手来讲是复杂而浪费时间的。它须要做布署NDK,并移植bsdiff/bspatch工具到Android系统,编写jni调用等繁缛,那是坠忧伤的

    Android 版本更新

    并发的BigNews框架(Github: ha-excited/BigNews)为你节省了麻烦的增量更新配备进程,无需加上代码配置文件以致NDK编写翻译,你只要求:

    花色地址

    功用图与示范 apk

    点击下载 德姆o.apk 或扫描下边包车型大巴二维码安装

    德姆o apk文件二维

    本文由68399皇家赌场发布于集群主机,转载请注明出处:Android 版本更新(自定义接口公约卡塔尔国

    关键词: 日记本 开源 android... 菜谱

上一篇:安卓笔记一

下一篇:没有了