美文网首页
Android app版本更新,一键完成

Android app版本更新,一键完成

作者: APP福星高照 | 来源:发表于2021-09-30 18:33 被阅读0次

1、使用超级轮子:
//自动安装 支持androidx https://github.com/jenly1314/AppUpdater
implementation 'com.github.jenly1314.AppUpdater:app-updater:1.1.0'
方法调用:

        //下载、进度监听并自动启用安装
        AppUpdater appUpdater = new AppUpdater(AppUtils.getCurApplication(), apkUrl);
        appUpdater.setUpdateCallback(new AppUpdateCallback() {
            @Override
            public void onProgress(long download, long total, boolean isChange) {
                Float progress = (new Float(download) / new Float(total)) * 100F;
                binding.setDownloadProgress(progress < 1 ? 1 : progress);
                binding.setProgressText(String.format("%.02f%%", progress));
            }

            @Override
            public void onFinish(File file) {
                binding.setDownloadProgress(100F);
                binding.setProgressText("100%");
                binding.setHasDownload(true);
                dismiss();
            }

            @Override
            public void onError(Exception e) {
                super.onError(e);
                Toast.makeText(requireContext(), e.getMessage(), Toast.LENGTH_LONG).show();
            }
        });
        appUpdater.start();

2、设置系统进度条样式
2.1 先看效果


截屏2021-09-30 下午6.27.37.png

2.2 后上xml代码
系统progressBar

                <ProgressBar
                    android:id="@+id/v_progress"
                    style="@style/Widget.AppCompat.ProgressBar.Horizontal"
                    android:layout_width="match_parent"
                    android:layout_marginHorizontal="25dp"
                    android:layout_marginTop="35dp"
                    android:layout_height="5dp"
                    android:max="100"
                    android:progress="@{downloadProgress.intValue()}"
                    android:progressDrawable="@drawable/download_progress_bg"
                    android:visible="@{(downloadProgress > 0F &amp;&amp; downloadProgress &lt; 100F) ? true : false}"
                    tools:visibility="visible"
                    tools:progress="50"
                    />
//这里用了一个自定义binding标签 android:visible ,没有的话用visibility

download_progress_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 背景  gradient是渐变,corners定义的是圆角 -->
    <item android:id="@android:id/background"
        android:layout_width="wrap_content">
        <shape>
            <corners android:radius="5dp" />

            <solid android:color="#B1D5FF" />
        </shape>
    </item>
    <!-- 进度条 -->
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="5dp" />
                <solid android:color="#4083FF" />
            </shape>
        </clip>
    </item>
</layer-list>

相关文章

网友评论

      本文标题:Android app版本更新,一键完成

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