android: 设置和获取app版本

一,设置版本:

1,versionCode和 versionName的区别

1. 版本名称(Version Name)

版本名称是一个字符串,用于向用户展示当前应用的版本。例如,“1.0.0”、“2.5.1”等。这个名称通常由开发者定义,用于标识应用的版本,便于用户理解。

2. 版本代码(Version Code)

版本代码是一个整数,用于在Google Play或其他应用市场中区分应用的各个版本。每次发布新版本时,这个数字都应该增加。例如,从1增加到2,表示发布了新版本。这个数字主要用于内部逻辑控制,例如强制更新逻辑。

2,设置

编辑build.gradle文件,可以看到versionCode和 versionName,如下图

二,代码中获取版本

package com.example.okdemo1.activity;

import android.app.ActivityOptions;

import android.content.Intent;

import android.content.pm.ApplicationInfo;

import android.content.pm.PackageInfo;

import android.content.pm.PackageManager;

import android.net.Uri;

import android.os.Build;

import android.os.Bundle;

import android.os.CountDownTimer;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.TextView;

import android.widget.Toast;

import androidx.activity.EdgeToEdge;

import androidx.appcompat.app.AppCompatActivity;

import androidx.core.graphics.Insets;

import androidx.core.view.ViewCompat;

import androidx.core.view.WindowInsetsCompat;

import com.example.okdemo1.MainActivity;

import com.example.okdemo1.R;

public class ToolsActivity extends AppCompatActivity {

private boolean isTimerFinished = true;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

EdgeToEdge.enable(this);

setContentView(R.layout.activity_tools);

//给按钮增加点击事件

Button myButton = findViewById(R.id.button);

myButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

try {

PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);

String packageName = getPackageName();

String sVersionName = packageInfo.versionName;

int sVersionCode = packageInfo.versionCode;

System.out.println("应用包名:"+packageName);

System.out.println("应用版本号:"+sVersionName);

System.out.println("应用版本code:"+sVersionCode);

} catch (PackageManager.NameNotFoundException e) {

e.printStackTrace();

}

}

});

}

}

测试效果: