본문 바로가기
반응형

Android development3

Android 에서 동적 권한 얻기 # State registerForActivityResult Runtime Permission 안드로이드를 앱을 개발하면서, 부딛히는 어려움 중 하나는, 바로 Runtime Permission 입니다. 이 글을 쓰고 4년뒤인 지금 Kotlin코드로 다시 업데이트하였는데요. Android OS버전이 올라가면서 유저에게 승인받아야 할 권한은 계속 늘어나고 있습니다. (심지어 Notification도 권한을 받아야 한다고 하는군요.) Runtime Permission은 External Storage와 관련된 작업인, 주소록이나, DB파일 혹은 이미지캐쉬를 저장하거나, 위치를 사용하는 앱일 경우에는 반드시 넘어야 할 산인데요. 오늘은 유저에게 외부저장소의 읽고 쓰기에 대해 동적으로 권한을 요청하는 것을 가지고 정리해 보도록 하겠습니다. 1. Manifest 선언먼저 먼저 Manifest에서 권한을 얻는다.. 2022. 10. 24.
Android 버튼 UI에 Ripple효과 넣기 안드로이드에 UI작업을 하다보면, 머티리얼 디자인에서 흔히 볼 수 있는, 버튼을 누르면 퍼지는 Ripple효과가 요구되는 경우가 있습니다. 워낙 사용자들도 저 효과를 많이 보다 보니, 그냥 컬러만 바뀌는 경우는, 밋밋하게 생각하는 경우가 많고 디자이너들도 요구하는 부분이기도 하지요. 백그라운드에 특정한 이미지를 쓰지 않는 투명버튼이나, 이미지버튼의 경우 상대적으로 이 효과를 적용하기 쉬운데, 배경색이나 이미지가 적용된 경우는 이 효과를 적용하는데 있어서 하위호환성문제가 발생합니다. 우선은 투명버튼의 경우부터, 어떻게 하면 리플 효과를 적용할 수 있는지 정리해 보도록 하겠습니다. 1. Button UI 아래와 같이 배경이 없는 투명 버튼의 경우를 먼저 보도록 하겠습니다. 이 버튼을 누르면 약간 연한 톤의 .. 2019. 6. 16.
부팅 혹은 재 부팅시 실행되는 Android Service 개발 폰이 부팅 혹은 재부팅될 때 실행되어야 하는 경우가 있습니다. 예를 들면, 알람앱 같은 경우가 될 텐데요. 알람을 설정하고 나서, 폰이 재부팅된 이후에도, 실행되도록 부팅시 DB를 조회해서 알람을 다시 등록해야 하겠습니다. 오늘은 이 방법에 대해서 정리해 보도록 하겠습니다. 1. 부팅 시기 알림받기 부팅이 되었을 때 앱이 안드로이드로부터 알림을 받아야 할 텐데요. 이를 위해서는 Receiver가 필요합니다. 그런데 Receiver를 작성하기 전에, 권한을 하나 추가해야 하는데요. android.permission.RECEIVE_BOOT_COMPLETED 권한을 AndroidManifest.xml에 추가해 주어야 합니다. 2. Receiver 추가하기 RebootReceiver를 생성한 다음, Androi.. 2019. 5. 26.