Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

Android 앱의 마지막 업데이트 정보를 가져오는 방법 (예제 코드 포함)

Android 앱의 마지막 업데이트 정보 가져오기

이 예제는 Android 애플리케이션의 마지막 업데이트 정보(lastUpdateTime)를 가져오는 방법을 보여줍니다. Android 시스템은 각 패키지가 설치되거나 업데이트된 시점의 타임스탬프를 내부적으로 관리하고 있으며, 이를 활용하면 사용자에게 앱의 최신 업데이트 일시를 표시할 수 있습니다.

1단계: 새 프로젝트 만들기

Android Studio에서 새 프로젝트를 생성합니다. 상단 메뉴에서 File ⇒ New Project로 이동한 뒤, 새 프로젝트 생성에 필요한 모든 세부 정보를 입력하세요.

2단계: 레이아웃 파일 수정

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 작성

src/MainActivity.java 파일에 아래 코드를 추가합니다.

package com.example.myapplication;
import android.app.ActivityManager;
import android.content.Context;
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.telephony.TelephonyManager;
import android.view.WindowManager;
import android.widget.TextView;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
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));
   }
}

핵심 코드 설명

  • PackageManager: 애플리케이션 컨텍스트에서 패키지 매니저 인스턴스를 가져옵니다.
  • getPackageInfo(): 현재 앱의 패키지 이름으로 PackageInfo 객체를 조회합니다.
  • lastUpdateTime: 앱이 마지막으로 업데이트된 시각을 밀리초 단위 타임스탬프(long)로 반환합니다. 참고로 firstInstallTime은 앱이 처음 설치된 시각을 의미하며, 두 값을 비교하면 설치 후 업데이트 여부도 파악할 수 있습니다.
  • SimpleDateFormat: 숫자형 타임스탬프를 "dd MMM yyyy HH:mm:ss:SSS Z" 형식의 읽기 쉬운 날짜 문자열로 변환합니다.

애플리케이션 실행하기

이제 애플리케이션을 실행해 보겠습니다. 실제 Android 모바일 기기가 컴퓨터에 연결되어 있다고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 연 뒤, 툴바의 Run(실행) 아이콘을 클릭하세요. 실행 옵션 목록에서 자신의 모바일 기기를 선택하면, 기기 화면에 아래와 같이 해당 앱의 마지막 업데이트 날짜와 시간이 표시됩니다.

Android 앱의 마지막 업데이트 정보를 가져오는 방법 (예제 코드 포함)