美文网首页实用AndroidAndroid
Android实现在线更新

Android实现在线更新

作者: SeekLife0 | 来源:发表于2022-04-13 11:10 被阅读0次

参考:https://github.com/AlexLiuSheng/CheckVersionLib

image.png
        
        val parm = HttpParams()
        parm.put("type", "android");
        parm.put("versionCode", APKVersionInfoUtils.getVersionCode(me)); //APKVersionInfoUtils.getVersionCode(me) 12
        var builder = AllenVersionChecker
            .getInstance()
            .requestVersion()
            .setRequestMethod(HttpRequestMethod.POSTJSON)
            .setRequestParams(parm)
            .setRequestUrl(Constant.TEST_URL + "/" + Constant.VERSION)
            .request(object : RequestVersionListener {
                override fun onRequestVersionSuccess(
                    downloadBuilder: DownloadBuilder?, result: String?
                ): UIData? {
                    val data = JSON.parseObject(result, UpdateData::class.java)
                    if (data.status == 200) {
                        if (data.data.versionCode > APKVersionInfoUtils.getVersionCode(me)) {
                            Log.e("打印下载路径","获得结果->" + result)
                            return UIData.create()
                                .setDownloadUrl(data.data.downloadUrl)
                                .setTitle("版本升级")
                                .setContent(data.data.versionInfo)
                        }
                        return null
                    }
                    return null
                }

                override fun onRequestVersionFailure(message: String?) {
                    ToastUtils.showShort("更新请求失败")
                    Log.e("测试更新apk","更新请求失败" + message)
                }
            })
        //设置自定义布局
        builder.setCustomVersionDialogListener(object : CustomVersionDialogListener{
            override fun getCustomVersionDialog(context: Context?, versionBundle: UIData?): Dialog {
                var baseDialog = BaseDialog(context)
                baseDialog.setContentView(R.layout.dialog_update)
                var tvContent = baseDialog.findViewById<TextView>(R.id.tv_content)
                var tvTitle = baseDialog.findViewById<TextView>(R.id.tv_title)
                tvContent?.text = versionBundle?.content
                tvTitle?.text = versionBundle?.title
                return baseDialog
            }
        })
        builder.executeMission(me)

相关文章

  • 实现Android的在线更新

    虽然有很多商店都有自动更新的SDK,但是审核不够灵活,以下介绍如何使用Fir.im进行更新,实现检查更新,后台下载...

  • 实现Android的在线更新

    转载自:实现Android的在线更新 - 简书 虽然有很多商店都有自动更新的SDK,但是审核不够灵活,以下介绍如何...

  • Android实现在线更新

    参考:https://github.com/AlexLiuSheng/CheckVersionLib[https:...

  • 一行代码实现Android app内部更新

    源码 写在前面 之前项目需要实现内部更新功能,看到了Android实现APP在线下载更新这篇文章,对于能够一行代码...

  • Android实现APP在线下载更新

    更新改进说明 本项目进行了比较大的改进。主要改进之处:1、将以前的Library发布到Jcenter,更方便集成 ...

  • 【Android】轻松实现 APK 在线升级

    【Android】轻松实现 APK 在线升级 APK 在线升级 APK 在线升级几乎是所有程序必备的功能。 在线升...

  • Android资源

    Android设计相关的网站推荐 Android studio启动时禁止更新 Ajian_studio 伯乐在线 ...

  • Android sdk在线更新

    大连东软信息学院镜像服务器地址: -http://mirrors.neusoft.edu.cn端口:80 北京化工...

  • Android在线更新适配

    我这里就不说下载过程了,我是默认各位读者都是已经把app下载好了到某个目录1.在清单文件中添加权限(这个权限经本人...

  • Android SDK AndroidStudio 国内可用的镜

    http://www.androiddevtools.cn/ 一站式下载地址,齐全 Android SDK在线更新...

网友评论

    本文标题:Android实现在线更新

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