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:
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
Aggiungere poi queste righe di codice
dopo la riga 81 del file ActivityMain.kt
Il risultato finale del file ActivityMain.kt
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"
Vedi anche: Visualizzare VersionName e VersionCode all'interno di una TextView
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).
- Basic Activity
- Bottom Navigation Activity
- Navigation Drawer Activity
- Login Activity
- Scrolling Activity
- Tabbed Activity
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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> |
Ora il codice da copiare all'interno della funzione onOptionsItemSelected del file ActivityMain.kt è il seguente
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout) | |
drawerLayout.closeDrawer(GravityCompat.START) | |
return true |
Il risultato finale del file ActivityMain.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
} | |
} |
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
Posta un commento