Android
 Computer >> コンピューター >  >> プログラミング >> Android

Androidアプリのバージョン名を取得する方法をステップ形式で解説

この記事では、Androidアプリケーションのバージョン名(versionName)を取得して画面に表示する方法を、サンプルコードとともにわかりやすく解説します。

バージョン名は、アプリの設定画面や「このアプリについて」の表示など、さまざまな場面で利用される重要な情報です。AndroidではPackageManagerクラスとPackageInfoクラスを組み合わせることで、簡単に取得できます。

手順1:新規プロジェクトの作成

まず、Android Studioで新しいプロジェクトを作成します。メニューから File → New Project を選択し、必要な情報を入力してプロジェクトを作成してください。

手順2:レイアウトファイル(activity_main.xml)の編集

次に、res/layout/activity_main.xml に以下のコードを追加します。

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android"
   xmlns:app = "https://schemas.android.com/apk/res-auto"
   xmlns:tools = "https://schemas.android.com/tools"
   android:layout_width = "match_parent"
   android:gravity = "center"
   android:layout_height = "match_parent"
   tools:context = ".MainActivity"
   android:orientation = "vertical">
   <TextView
      android:id = "@+id/text"
      android:textSize = "30sp"
      android:layout_width = "wrap_content"
      android:layout_height = "wrap_content" />
</LinearLayout>

このレイアウトでは、取得したバージョン名を表示するための TextView を画面中央に配置しています。

手順3:MainActivity.java の実装

続いて、src/MainActivity.java に以下のコードを追加します。

package com.example.myapplication;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
    TextView textView;
    @RequiresApi(api = Build.VERSION_CODES.P)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.text);
        PackageManager pm = getApplicationContext().getPackageManager();
        String pkgName = getApplicationContext().getPackageName();
        PackageInfo pkgInfo = null;
        try {
            pkgInfo = pm.getPackageInfo(pkgName, 0);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        String ver = pkgInfo.versionName;
        textView.setText("" + ver);
    }
}

コードのポイント

バージョン名の取得処理は、以下の流れで行っています。

1. getPackageManager() でPackageManagerのインスタンスを取得する
2. getPackageName() で自アプリのパッケージ名を取得する
3. getPackageInfo(pkgName, 0) を呼び出してPackageInfoを取得する
4. PackageInfoの versionName フィールドからバージョン名を読み取る

なお、指定したパッケージが見つからない場合に備えて、NameNotFoundException の例外処理も忘れずに行いましょう。

アプリの実行と確認

それでは、アプリケーションを実行してみましょう。実機のAndroidスマートフォンをパソコンに接続した状態で、Android Studioのツールバーにある実行(Run)アイコンをクリックします。デバイス選択のダイアログが表示されたら、接続したモバイルデバイスを選択してください。

アプリが起動すると、画面中央に以下のようにアプリのバージョン名が表示されます。

Androidアプリのバージョン名を取得する方法をステップ形式で解説

まとめ

Androidアプリのバージョン名を取得するには、PackageManagerとPackageInfoを活用します。数行のコードで実装できるため、設定画面やヘルプ画面へのバージョン情報の表示など、ぜひ活用してみてください。

  1. 【Android開発】リソースIDからリソース名を取得する方法を解説

    AndroidでリソースIDを使用してリソース名を取得する方法この記事では、Androidアプリ開発において、リソースID(Resource ID)から対応するリソース名(Resource Name)を取得する方法を、実際のコード例とともに段階的に解説します。リソース名の取得には、Resourcesクラスが提供するgetResourceName()メソッドを使用します。このメソッドにリソースIDを渡すことで、「パッケージ名:リソースタイプ/リソース名」の形式で文字列として取得できます。動的にビューを生成した場合や、デバッグ時にどのリソースが使われているか確認したい場合などに役立つテクニックです

  2. 【Android】プログラムでアプリケーションを終了する方法|finish()とSystem.exit(0)の使い方

    はじめにこの記事では、Androidアプリをプログラム(コード)から終了させる方法を解説します。ボタンをタップするとアプリが終了するシンプルなサンプルアプリを通じて、実装手順をステップごとに見ていきましょう。ステップ1:新規プロジェクトの作成Android Studioを起動し、「File」→「New Project」を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成してください。ステップ2:レイアウトファイルの編集res/layout/activity_main.xml に以下のコードを追加します。このレイアウトには、ガイダンス用のTextViewと、アプリを終了するためのB