Passa ai contenuti principali

Android Studio - Visualizzare la versione app (esempio 1)

All'interno della propria app è possibile visualizzare la versione dell'app in diversi modi.
In questo articolo vedremo come visualizzare il Version Name e il Version Code all'interno di un messaggio "Toast" cliccando una voce dal menù (tre puntini in alto a destra).
Durante la creazione del nuovo progetto bisogna scegliere uno tra questi tipi di progetto:
In questo esempio verrà utilizzato i tipo: Navigation Drawer Activity
Una volta caricato il progetto occorre eseguire alcune modifiche:
aprire il file main.xml all'interno della cartella menu e modificarlo in questo modo
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_info"
android:title="Info"
android:orderInCategory="100"
app:showAsAction="never"/>
</menu>
view raw main.xml hosted with ❤ by GitHub
modificare la riga 4 e 5 cambiando il nome dell'elemento e del testo visualizzato

Ora il codice da copiare all'interno della funzione onOptionsItemSelected del file ActivityMain.kt è il seguente
val context = applicationContext
val packageManager = context.packageManager
val packageName = context.packageName
/*recupero del nome versione*/
var versionName = "non disponibile"
try {
versionName = packageManager.getPackageInfo(packageName, 0).versionName
} catch (e: PackageManager.NameNotFoundException) {
e.printStackTrace()
}
/*recupero del codice versione*/
var versionCode: Int? = 0
try {
versionCode = packageManager.getPackageInfo(packageName, 0).versionCode
} catch (e: PackageManager.NameNotFoundException) {
e.printStackTrace()
}
/*visualizzazione in un messaggio "Toast"*/
Toast.makeText(this, "VersionName = $versionName - VersionCode = $versionCode", Toast.LENGTH_LONG)
.show()
view raw VersionShow.kt hosted with ❤ by GitHub
Aggiungere poi queste righe di codice
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
drawerLayout.closeDrawer(GravityCompat.START)
return true
dopo la riga 81 del file ActivityMain.kt
Il risultato finale del file ActivityMain.kt
package com.dm.myapplication
import android.content.pm.PackageManager
import android.os.Bundle
import android.support.design.widget.FloatingActionButton
import android.support.design.widget.Snackbar
import android.support.v4.view.GravityCompat
import android.support.v7.app.ActionBarDrawerToggle
import android.view.MenuItem
import android.support.v4.widget.DrawerLayout
import android.support.design.widget.NavigationView
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.Toolbar
import android.view.Menu
import android.widget.Toast
class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar: Toolbar = findViewById(R.id.toolbar)
setSupportActionBar(toolbar)
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
val navView: NavigationView = findViewById(R.id.nav_view)
val toggle = ActionBarDrawerToggle(
this, drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close
)
drawerLayout.addDrawerListener(toggle)
toggle.syncState()
navView.setNavigationItemSelectedListener(this)
}
override fun onBackPressed() {
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(GravityCompat.START)
} else {
super.onBackPressed()
}
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater.inflate(R.menu.main, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
when (item.itemId) {
R.id.action_info -> {
val context = applicationContext
val packageManager = context.packageManager
val packageName = context.packageName
/*recupero del nome versione*/
var versionName = "non disponibile"
try {
versionName = packageManager.getPackageInfo(packageName, 0).versionName
} catch (e: PackageManager.NameNotFoundException) {
e.printStackTrace()
}
/*recupero del codice versione*/
var versionCode: Int? = 0
try {
versionCode = packageManager.getPackageInfo(packageName, 0).versionCode
} catch (e: PackageManager.NameNotFoundException) {
e.printStackTrace()
}
/*visualizzazione in un messaggio "Toast"*/
Toast.makeText(this, "VersionName = $versionName - VersionCode = $versionCode", Toast.LENGTH_LONG)
.show()
}
}
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
drawerLayout.closeDrawer(GravityCompat.START)
return true
}
override fun onNavigationItemSelected(item: MenuItem): Boolean {
// Handle navigation view item clicks here.
when (item.itemId) {
R.id.nav_home -> {
// Handle the camera action
}
R.id.nav_gallery -> {
}
R.id.nav_slideshow -> {
}
R.id.nav_tools -> {
}
R.id.nav_share -> {
}
R.id.nav_send -> {
}
}
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
drawerLayout.closeDrawer(GravityCompat.START)
return true
}
}
view raw MainActivity.kt hosted with ❤ by GitHub
Modificare la riga 56 togliendo la scritta return prima di when. Modificare il riferimento dell'elemento sul menù selezionato per visualizzare la versione alla riga 57, mettere lo stesso valore che è stato messo alla riga 4 del file main.xml
Inoltre è possibile che una volta inserito il codice nella posizione indicata vengano segnalati alcuni errori, quindi posizionarsi sull'errore colorato in rosso e premere contemporanemante i tasto ALT + INVIO in modo da aggiungere la libreria.
Il codice per visualizzare la versione si trova dalla riga 56 alla 78

Il nome della versione e il codice versione vengono visualizzati in un messaggio chiamato "Toast"



Download Project
Download file APK


Vedi anche: Visualizzare VersionName e VersionCode all'interno di una TextView

Commenti

Post popolari in questo blog

Android Studio - Impostare lingua app

In questo articolo vedremo come poter selezionare la lingua all'interno della nostra app. Nel precedente articolo in cui si parlava del file string.xml , la lingua dell'app veniva selezionata automaticamente in base alle impostazioni del dispositivo, mentre qui vedremo come poter selezionare a proprio piacimento la lingua che dovrà avere la nostra app indipendentemente dall'impostazione del dispositivo. Per prima cosa creare il layout Ecco un esempio do come può essere il file activity_main.xml Ora creare le stringhe di testo all'interno del file string.xml Ora creare la traduzione del file string.xml nelle varie lingua come descritto in questo articolo Il risultato sarà una serie di file string.xml delle varie lingue impostate. Ora queste di seguito sono tre funzioni che servono per: selezione della lingua salvataggio della selezione nelle preferenze dell'app caricamento della lingua quando si avvia l'app Ecco come si presenta il file Main...

Android Studio - Rinominare il progetto

Rinominare il progetto Android Studio ATTENZIONE!: non eseguire questa procedura se l'app è stata pubblicata su Google Play Store Quando si vuole cambiare nome al progetto: nome cartella in cui è contenuto il progetto package name bisogna eseguire questi passaggi: Andare nella cartella dove è contenuto il progetto Creare una copia del progetto in questione Rinominare la cartella copiata con il nome dell'app (non usare spazi tra le parole) Ora è necessario dire ad Android Studio il nome del nuovo progetto  Aprire Android Studio Aprire il progetto creato in precedenza Una volta caricato il progetto cliccare Build Cliccare Clean Project Attendere che venga eseguito il processo di "pulitura" Cliccare ancora su Build Cliccare su Rebuild Project Attendere che venga ricostruito il progetto Ora aprire la cartella app fino a visualizzare la cartella java Cliccare sull'ingranaggio  Deselezionare la voce Compact Middle Packa...

Arduino - Lettura tensione potenziometro e display LCD

Leggere il valore di un poteziometro (parte 2) Oggi vedremo come leggere il valore in tensione di un potenziometro collegato al pin Analogico A0 di Arduino.