Notice
Recent Posts
Recent Comments
Link
투케이2K
916. (Android/Java) [간단 소스] ApplicationInfo 간단 설명 및 사용 옵션 정리 - 애플리케이션 정보 본문
Android
916. (Android/Java) [간단 소스] ApplicationInfo 간단 설명 및 사용 옵션 정리 - 애플리케이션 정보
투케이2K 2024. 12. 9. 18:56[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java / Kotlin
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Java / Kotlin
- 개발 툴 : AndroidStudio
- 기술 구분 : ApplicationInfo / 애플리케이션 정보
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------
1. ApplicationInfo 은 AndroidManifest.xml 파일 <application> 태그에서 수집된 애플리케이션 정보를 확인할 수 있는 클래스입니다.
2. ApplicationInfo 은 안드로이드 API 레벨 1 에서 추가 된 클래스로 API 레벨이 올라감에 따라 정보를 확인할 수 있는 범위가 추가적으로 확장 되었습니다
3. ApplicationInfo Fields 관련 주요 키워드 정리 :
>> appComponentFactory : <manifest> 태그의 속성에 지정된 이 패키지의 팩토리입니다
>> backupAgentName : 애플리케이션의 백업 기능을 구현하는 클래스입니다
>> category : 앱의 카테고리 정보입니다
>> className : Application 객체를 구현하는 클래스입니다
>> compatibleWidthLimitDp : 애플리케이션이 설계된 가장 작은 최대 화면 너비입니다
>> compileSdkVersion : 사용자에게 표시되는 SDK 버전입니다
>> compileSdkVersionCodename : 개발 코드명 입니다
>> dataDir : 패키지의 영구 데이터를 위해 할당된 기본 디렉토리의 전체 경로입니다
>> descriptionRes : 애플리케이션 설명의 스타일 리소스 식별자 (패키지 리소스 내) 입니다
>> deviceProtectedDataDir : 패키지의 영구 데이터를 위해 할당된 장치 보호 디렉터리의 전체 경로입니다
>> flags : 애플리케이션과 관련된 플래그입니다
>> largestWidthLimitDp : 애플리케이션이 작동할 수 있는 최대 최소 화면 너비입니다
>> manageSpaceActivityName : 애플리케이션의 공간 관리 기능을 구현하는 클래스입니다
>> minSdkVersion : 애플리케이션을 실행할 수 있는 최소 SDK 버전입니다
>> nativeLibraryDir : 네이티브 JNI 라이브러리가 저장된 디렉토리의 전체 경로입니다
>> permission : 애플리케이션의 구성 요소에 액세스하는 데 필요한 권한의 선택적 이름입니다
>> processName : 애플리케이션이 실행되어야 하는 프로세스의 이름입니다
>> publicSourceDir : sourceDir 리소스와 매니페스트를 포함하여 공개적으로 사용 가능한 부분에 대한 전체 경로입니다
>> requiresSmallestWidthDp : 애플리케이션을 실행할 수 있는 가장 작은 화면 너비입니다
>> sharedLibraryFiles : 애플리케이션이 링크된 모든 공유 라이브러리에 대한 경로입니다
>> sourceDir : 애플리케이션의 기본 APK에 대한 전체 경로입니다
>> targetSdkVersion : 애플리케이션이 대상으로 하는 최소 SDK 버전입니다
>> theme : 애플리케이션의 기본 시각적 테마의 스타일 리소스 식별자(패키지 리소스 내)입니다
>> uiOptions : 애플리케이션의 활동에 대한 기본 추가 UI 옵션입니다
>> uid : 애플리케이션에 할당된 커널 사용자 ID입니다
>> storageUuid : 애플리케이션이 호스팅되는 저장소 볼륨의 UUID입니다
4. ApplicationInfo 사용 예시 소스 코드 :
// [PackageInfo 선언]
PackageInfo pi = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU){
pi = mContext.getPackageManager().getPackageInfo(packageName, PackageManager.PackageInfoFlags.of((long) 0));
}
else {
pi = mContext.getPackageManager().getPackageInfo(packageName, 0);
}
ApplicationInfo appInfo = pi.applicationInfo;
String M_LOG = "";
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
M_LOG += "\n" + "minSdkVersion : " + String.valueOf(appInfo.minSdkVersion);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
M_LOG += "\n" + "compileSdkVersion : " + String.valueOf(appInfo.compileSdkVersion);
}
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
https://developer.android.com/reference/android/content/pm/ApplicationInfo
https://blog.naver.com/kkh0977/223683895863
https://blog.naver.com/kkh0977/223686410539
// --------------------------------------------------------------------------------------
반응형
'Android' 카테고리의 다른 글
Comments