2010-09-03 19 views

Répondre

116

Si vous utilisez ADT et Eclipse:

String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; 

Si vous utilisez Gradle, il existe un moyen plus facile, car il met les données dans buildconfig pour vous:

String version = BuildConfig.VERSION_NAME; 
+23

C'est trop de "getPackage" pour une seule ligne de code ... O_O – Cephron

+4

Super! Mais existe-t-il un moyen d'obtenir la valeur à partir d'un fichier xml (en particulier pour l'utiliser comme 'android: summary' d'un noeud' Preference')? –

37

réponse de Konstantin (ci-dessus) est correct, mais pour ce que ça vaut, j'ai trouvé que j'ai eu une erreur de compilation si je n'ai pas attrapé un NameNotFoundException, comme suit:

import android.content.pm.PackageManager.NameNotFoundException; 
try { 
    String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; 
} catch (NameNotFoundException e) { 
    Log.e("tag", e.getMessage()); 
}