SW 그리고 아빠 엔지니어링 중...

아는 만큼 보이고, 경험해봐야 알 수 있고, 자꾸 써야 내 것이 된다.

L ANDROID 3

JAVA Files class를 사용 가능한 Android API

File을 복사 및 사이즈측정 등을 Files 클래스(java.nio.file.Files : JDK 7 포함)를 사용하여 손쉽게 해결할 수 있는데 android Kitkat 에서 해당 java class를 지원하지 않는다고 에러가 발생되었다. //파일 복사 Files.copy(fileName.toPath(), newFile.toPath(), StandardCopyOption.REPLACE_EXISTING); //파일 사이즈 측정 bytes = Files.size(file.toPath()); 이는 Android 8(API 26 이상) 부터 지원을 하기에 이전 플랫폼에서는 JDK 7 미만의 class로 사용해야 한다. 업데이트된 Java 지원 Android 8.0에서는 다음과 같이 여러 가지 추가적인 Ope..

L ANDROID 2022.06.27

RequiresApi 란 무엇인가?

Files 클래스를 쓰는데 File size 를 측정하는데 error 가 생겼고 자동으로 아래 코드가 추가 되었다. @RequiresApi(api = Build.VERSION_CODES.O) 이 코드는 애너테이션으로 아래 함수를 사용할 때 필요한 최소 API를 명시된 API 레벨보다 낮으면 오류가 발생하는 역할을 한다. @RequiresApi(api = Build.VERSION_CODES.O) public static long getFileSizeMB(File file) { if(file == null) { Log.e(TAG,"getFileSizeMB : File is null"); return 0; } long bytes = 0; if (android.os.Build.VERSION.SDK_INT >= ..

L ANDROID 2022.06.26

다른 App 이나 인텐트로 activity를 실행하게 하는 방법

문제점 adb command 로 activity를 실행하니 에러가 발생하였다. 해결 android:exported 추가로 해결 설명 android:exported이 요소는 다른 애플리케이션의 구성요소에서 활동을 시작할 수 있는지를 설정합니다. 'true'인 경우 모든 앱에서 활동에 액세스할 수 있으며 정확한 클래스 이름으로 활동을 시작할 수 있습니다. 'false'인 경우 활동은 같은 애플리케이션의 구성요소나 사용자 ID가 같은 애플리케이션, 권한이 있는 시스템 구성요소에서만 시작될 수 있습니다. 이는 인텐트 필터가 없는 경우의 기본값입니다. 앱의 활동에 인텐트 필터가 포함되면 다른 앱에서 활동을 시작할 수 있도록 이 요소를 'true'로 설정합니다. 예를 들어 활동이 앱의 기본 활동이고 category..

L ANDROID 2022.06.25
320x100