Android APP 设置版本号,并显示在界面上

文章目录

    由于给客户定制的 Android APP 不需要发布到应用商店,没有一套统一的版本控制渠道。
    只能先通过人肉查看版本号的方式,将版本号显示在界面上。

    设置版本号

    app build.gradle 文件:

    通过 versionCode 和 versionName 来配置 App 的版本号。

    android {
        namespace 'com.sunzhongwei.app'
        compileSdk 33
    
        defaultConfig {
            applicationId "com.sunzhongwei.app"
            minSdk 26
            targetSdk 33
            versionCode 300
            versionName "3.0.0"
    
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }
    
    	...
    }
    

    为了方便管理,我将这两个值设置为一样的,对于小项目,不频繁变动的项目,这样足够了。

    获取版本号

    定义一个 utils, 用 kotlin 实现:

    import android.content.Context
    import android.content.pm.PackageManager
    
    fun getAppVersion(context: Context): String? {
        var version: String? = null
        try {
            val packageInfo = context.packageManager.getPackageInfo(context.packageName, 0)
            version = packageInfo.versionName
        } catch (e: PackageManager.NameNotFoundException) {
            e.printStackTrace()
        }
        return version
    }
    

    在 fragment layout XML 中显示

    <TextView
    	android:id="@+id/version"
    	android:layout_width="match_parent"
    	android:layout_height="wrap_content"
    	android:gravity="center"
    	style="@style/settings_item"
    	android:layout_marginTop="10dp"
    	android:layout_marginBottom="30dp"
    	android:text="1.0.0"></TextView>
    

    然后在 fragment onCreateView 中设置:

    binding.version.text = context?.let { getAppVersion(it) }
    

    ‘getPackageInfo(String, Int): PackageInfo!’ is deprecated. Deprecated in Java

    TODO

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式