Как получить номер версии сборки приложения для Android с помощью Jetpack Compose?

Опубликовано: 10 Января, 2023

Название версии и код версии в приложении Android сообщают нам о текущей версии приложения, установленной на мобильном устройстве пользователя. Эта информация обычно используется, когда мы предлагаем пользователям обновить старую версию приложения до новой версии. В этой статье мы рассмотрим Как получить номер версии сборки Android-приложения с помощью Jetpack Compose .

Пошаговая реализация

Шаг 1. Создайте новый проект в Android Studio.

Чтобы создать новый проект в Android Studio, обратитесь к разделу «Как создать/запустить новый проект в Android Studio». При выборе шаблона выберите «Пустая активность создания» . Если вы не найдете этот шаблон, попробуйте обновить Android Studio до последней версии. Мы продемонстрировали приложение на Kotlin, поэтому убедитесь, что вы выбрали Kotlin в качестве основного языка при создании нового проекта.

Шаг 2: Работа с файлом MainActivity.kt

Перейдите к файлу MainActivity.kt и обратитесь к следующему коду. Ниже приведен код файла MainActivity.kt. Комментарии добавляются внутри кода, чтобы понять код более подробно.

Kotlin




package com.example.newcanaryproject
  
import android.Manifest.permission.READ_EXTERNAL_STORAGE
import android.app.Activity
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.content.pm.PackageManager
import android.database.Cursor
import android.os.Bundle
import android.os.Environment
import android.provider.MediaStore
import android.util.Log
import android.widget.Toast
  
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.GridCells
import androidx.compose.foundation.lazy.LazyVerticalGrid
import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.semantics.Role.Companion.Image
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.*
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import coil.compose.rememberImagePainter
import com.example.newcanaryproject.ui.theme.*
import java.io.File
  
class MainActivity : ComponentActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            NewCanaryProjectTheme {
                // on below line we are specifying
                // background color for our application
                Surface(
                    modifier = Modifier.fillMaxSize(), color = MaterialTheme.colors.background
                ) {
                    // on below line we are specifying theme as scaffold.
                    Scaffold(
                        // in scaffold we are specifying top bar.
                        topBar = {
                            // inside top bar we are specifying background color.
                            TopAppBar(backgroundColor = greenColor,
                                // along with that we are specifying title for our top bar.
                                title = {
                                    // in the top bar we are specifying tile as a text
                                    Text(
                                        // on below line we are specifying text
                                        // to display in top app bar.
                                        text = "GFG",
  
                                        // on below line we are specifying modifier
                                        // to fill max width.
                                        modifier = Modifier.fillMaxWidth(),
  
                                        // on below line we are specifying text alignment.
                                        textAlign = TextAlign.Center,
  
                                        // on below line we are 
                                        // specifying color for our text.
                                        color = Color.White
                                    )
                                })
                        }) {
                        // on below line we are 
                        // calling display Version Method.
                        displayVersion()
                    }
                }
            }
        }
    }
  
}
  
  
@Composable
fun displayVersion() {
  
    // on below line we are creating a column
    Column(
        // on below line we are adding a modifier to it
        modifier = Modifier
            .fillMaxWidth()
            .fillMaxHeight(),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
  
        // on below line we are creating a simple
        // text view for displaying heading.
        Text(
            text = "Build Version Number of Android App",
            fontSize = 20.sp,
            modifier = Modifier.padding(5.dp),
            fontWeight = FontWeight.Bold
        )
  
  
        // on below line we are creating a variable 
        // and storing our version name
        // and version code.
        val version =
            "Version Name : " + BuildConfig.VERSION_NAME + " " + "Version Code : " + BuildConfig.VERSION_CODE.toString()
  
        Text(
            text = version,
            modifier = Modifier.padding(5.dp),
            fontSize = 20.sp,
            fontWeight = FontWeight.Bold
        )
  
    }
  
}

Теперь запустите ваше приложение, чтобы увидеть результат.

Выход:

РЕКОМЕНДУЕМЫЕ СТАТЬИ