분류 전체보기
-
[Storage] Legacy Storage 외부저장소 공유공간에 파일쓰기Android/Storage 2021. 10. 29. 16:59
안드로이드 저장소 정리 포스팅 [Android/Storage] - [Android] 안드로이드 저장소 정리 Android 9이하에서 공유저장공간에 파일을 write해보고 권한이 없을 때 파일을 write하면 어떤 결과가 나타나는지 확인해본다. 필요한 내용만 정리하였기 때문에 권한이 획득, 거부 상태인지 체크하고 권한을 얻어오는 코드는 넣지 않았다. 단순히 앱 권한 설정으로 가서 저장공간 권한 체크박스만 설정/해제하자 권한 처리는 아래의 포스팅을 참고 [Android/Permission] - [Android] 권한 체크, 획득 [Android/Permission] - [Android] 전반적인 권한 처리 로직 Android 9이하에서는 WRITE_EXTERNAL_STORAGE, READ_EXTERNAL_S..
-
[Java] Java File 클래스 공부java/IO 2021. 10. 29. 02:25
Absolute Path VS Relative Path https://mommoo.tistory.com/82 절대경로, 상대경로란? 안녕하세요. 프로그래밍을 하다보면, 경로에 관한 것을 처리하곤 합니다. 이때 어떤 API는 절대 경로 로 처리를, 또 다른 API는 상대 경로 로 처리를 하곤 합니다. 절대 경로 , 상대 경로 의 개념이 mommoo.tistory.com What does abstract path means in java.io? https://stackoverflow.com/questions/24611148/what-does-abstract-path-means-in-java-io What does abstract path means in java.io? In java doc about Fil..
-
[Storage] 외부저장소 볼륨 BroadcastReceiverAndroid/Storage 2021. 10. 26. 16:02
onReceive의 받은 인텐트에서 getData로 Uri를 뽑아 어떤 볼륨이 변경되었는지 체크가능 체크 getAction으로 볼륨이 어떻게 변경되었는지 체크가능 태그 내부에 implicit 브로드 캐스트 리시버 정의 확인하고 싶은 Action만 정의하였다. 이외에도 여러 Action이 있다. Intent의 data필드를 file로 꼭 지정해줘야 한다. BroadcastReceiver클래스를 상속한 클래스 생성 후 onReceive() 오버라이딩 class SdReceiver : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { log("SD카드 테스트- onReceive()") if (intent != n..
-
[개인참고] 안드로이드 버전개인참고 2021. 10. 22. 19:19
버전 확인- https://developer.android.com/reference/kotlin/android/os/Build.VERSION_CODES Build.VERSION_CODES | Android Developers developer.android.com 디바이스 버전 확인- https://developer.android.com/reference/kotlin/android/os/Build.VERSION#sdk_int Build.VERSION | Android Developers developer.android.com 버전 별 분기 로직 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.알파벳상수){ // api level 대응 } else{ // api lev..
-
[Permission] 전반적인 권한 처리 로직Android/Permission 2021. 10. 22. 15:59
이전 포스팅에서는 사용자가 권한 허용, 거부,다시 묻지않음 거부시 shouldShowRequestPermissionRationale의 Boolean값이 어떻게 변하는지 안드로이드 버전에 따라 다이얼로그가 어떤식으로 출력되는지 등등에 대해서 알아보았다. 2021.10.21 - [Android/Permission] - [Android] 권한 체크, 획득 이번 포스팅에서는 다시 묻지 않음 거부시 사용자를 앱의 설정 액티비티로 유도하는 코드와 실제적으로 권한 처리하는 코드를 만들어본다. 안드로이드 11 테스트 단순 테스트 용도로 사용될 권한 외부저장소 쓰기 ---매니페스트 ---레이아웃 버튼( 전반적인 권한 처리) ---액티비티 로그와 토스트 코드가 복잡해져 권한 체크, 권한 설명필요, 권한 요청 메서드로 나눴..
-
[Intent] 설정 앱 관련 인텐트 Activity Action 몇가지Android/Intent 2021. 10. 22. 00:04
권한 관련 앱 세부정보 액티비티로 보내는 것을 공부하다 몇가지 대충 써봤다. android.provider.Settings 클래스 https://developer.android.com/reference/android/provider/Setting Activity Action관련 상수( 액션마다 수행할 수 없는 컴포넌트(액티비티)가 있을 수 있음 ) ACTION_APPLICATION_SETTINGS ( 설정-> 어플리케이션(해당) ) 인텐트 설정 필요없음 설정-> 애플리케이션설정(해당) ACTION_APPLICATION_DETAILS_SETTINGS ( 설정-> 어플리케이션 -> 특정 어플리케이션 선택(해당) ) Input- 인텐트 data uri를 "package:com.패키지명"으로 설정 overrid..
-
[Permission] 권한 체크, 획득Android/Permission 2021. 10. 21. 16:59
목차 권한 체크 방법 권한 획득 방법 Android 9, 10, 11 공통 차이점 권한 요청 시스템 다이얼로그가 뜨지 않는 경우 사용자를 권한 설정으로 보내기 다음 글 [Android] 전반적인 권한 처리 로직 권한 승인, 거부 상태 PackageManger. PERMISSION_GRANTED PackageManger. PERMISSION_DENIED 자신의 앱에서 사용하는 특정 권한의 승인, 거부 상태 체크 ActivityCompat extends ContextCompat ContextCompat ->Helper for accessing features in Context ContextCompat.checkSelfPermission(컨텍스트: Context, 권한: String) (호환 api) 또는 ..
-
[Package] 안드로이드 11 Package VisibilityAndroid/Package 2021. 10. 20. 18:38
Android Storage 변경사항을 공부하다가 권한 사용법을 까먹어서 공부하다가 권한 사용법을 공부하다가 잠깐 PackageManager를 이용하는 법을 공부하다가 안드로이드 11 변경사항까지 와버렸다... 간단하게 이런 내용이다라는 정도로만 글을 남긴다 ( 나중에 사용하는 경우에 공부해야지 현재 쓰지도 않는데 건드려봤자 또 까먹기...) PackageManager를 통해 다른 앱의 정보를 이용하는 경우가 있다고 한다. 안드로이드 11부터는 Package Visibility가 도입되어 패키지 공개 상태 변경사항이 적용된다고 한다. 안드로이드 11에서 돌아가는 앱에서는 디바이스에 설치된 다른 앱 목록을 알수없고 미리 매니페스트 파일에 쿼리할 패키지 이름 또는 인텐트 필터 서명을 로 지정하여야 한다. c..