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

Androidアプリの最終更新日時を取得する方法をわかりやすく解説

本記事では、Androidアプリケーションの最終更新情報(最終更新日時)を取得する方法を、実際のサンプルコードとともにステップごとに解説します。アプリのバージョン管理や更新履歴の表示などに役立つテクニックなので、ぜひ参考にしてください。

全体の流れ

最終更新日時は、PackageManagerから取得できるPackageInfoクラスのlastUpdateTimeフィールドを読み取ることで確認できます。取得した値はミリ秒単位のタイムスタンプのため、SimpleDateFormatで見やすい形式に整形して画面に表示します。

ステップ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を1つ配置しています。画面中央に表示されるよう、親レイアウトのgravityに「center」を指定しています。

ステップ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.view.WindowManager;
import android.widget.TextView;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainActivity extends AppCompatActivity {
    TextView textView;
    @RequiresApi(api = Build.VERSION_CODES.P)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
        WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
        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();
        }
        Long ver = pkgInfo.lastUpdateTime;
        DateFormat simple = new SimpleDateFormat("dd MMM yyyy HH:mm:ss:SSS Z");
        Date result = new Date(ver);
        textView.setText("" + simple.format(result));
    }
}

コードのポイント

  • getPackageManager()でPackageManagerのインスタンスを取得し、自アプリのパッケージ名を渡してPackageInfoを取得しています。
  • lastUpdateTimeには、アプリが最後にインストールまたは更新された日時がミリ秒単位のlong値として格納されています。
  • SimpleDateFormatを使って「日 月 年 時:分:秒:ミリ秒 タイムゾーン」の形式に整形し、TextViewにセットして表示します。

アプリの実行と結果確認

それでは、アプリケーションを実行してみましょう。ここでは、実際のAndroid端末をパソコンに接続しているものとします。Android Studioからアプリを実行するには、プロジェクト内のアクティビティファイルを開き、ツールバーの実行アイコンをクリックしてください。デバイス選択のダイアログが表示されたら、接続したモバイル端末を選択します。実行後、端末の画面には以下のようにアプリの最終更新日時が表示されます。

Androidアプリの最終更新日時を取得する方法をわかりやすく解説

  1. 【Android開発】ListViewの項目を動的に更新する方法をわかりやすく解説

    はじめに Androidアプリ開発では、リスト表示に使われる「ListView」の内容を実行中に書き換えたい場面がよくあります。例えば、ユーザーがリストの項目をタップしたときに、その項目の値を別の値に変更するといった処理です。 本記事では、ListViewの項目をタップすると、その値が「100」に動的に更新されるサンプルアプリを題材に、具体的な実装手順を初心者向けに解説します。 手順1:Android Studioで新規プロジェクトを作成する まずはAndroid Studioを起動し、メニューから File → New Project を選択して新しいプロジェクトを作成します。必要な項目(

  2. 【Android】Snapchatのアップデートを削除・元に戻す方法を徹底解説

    Snapchat(スナップチャット)は、今最も人気のあるSNSプラットフォームの一つです。楽しいフィルターで有名なこのアプリを使えば、日常の出来事を家族や友人と手軽に共有できます。Snapchatはユーザー体験の向上を目指して継続的にアップデートを行っていますが、新しいアップデートにはバグや不具合が含まれることも少なくありません。「アップデート後に動作がおかしくなった」という不満の声も多く、ストレスを感じるユーザーは後を絶ちません。まだアップデートしていない方はラッキーですが、すでに最新版へ更新してしまい満足できていない方もご安心ください。この記事では、「Snapchatのアップデートを削除す