안드로이드의 permission은 초기에는 Manifest에 추가만 해주면 해결 됐지만, 보안이 강화되면서 API 23부터 사진을 찍거나 위치정보를 이용하는등의 경우에 런타임으로 요청을 해서 사용자 확인을 받아야 한다. Runtime Permissions는 dangerous permissions라고도 하며, 시스템이나 다른앱에게 영향을 줄 수 있는 영역에 접근할 때 필요하다. runtime 으로 permission을 요청하면 사용자에게 다음과 같은 대화상자가 표시된다. 사용자는 허용/거부를 선택할 수 있고 그에 따라…
[태그:] android
Android: onActivityResult()의 대안 RegisterForActivityResult()
외부 Activity를 실행할 때, 이전 방식은 startActivityForResult()를 이용하여 Intent를 날리고 onActivityResult() callback으로 결과를 받아오는 방식이었다. 새롭게 권장하는 방식은 AndroidX 라이브러리의 Activity/Fragment 를 이용하여 RegisterForActivityResult()를 사용하는 방식이다. 정확한 장점을 설명하기에 아직 내 이해도가 부족하지만, 기존 방식이 좀 무식하긴 했다. 인텐트로 외부 액티비티를 실행하고, 뭘 실행했든지 onActivityResult() 하나의 콜백에서 request code로 분류하며 전부 처리해야 했다. 또한, 인텐트…
Android: App bar 에 대해 (feat. ActionBar, Toolbar)
App bar 안드로이드에서 App bar라고 하는것은 Material Design에서 정의하는 상단의 바를 말한다. Material Design에서는 하단 App bar도 나오지만, 그리 익숙한 형태는 아니다. 여기서는 이전부터 익숙한 상단 바에 대해서만 다룰 것이다. App bar의 각 명칭은 다음과 같다. 1. Container2. Navigation icon (optional)3. Title (optional)4. Action items (optional)5. Overflow menu (optional) App bar라고 하는 것은 앞에서 말한대로…
Android : 무선 디버깅 사용하기
에뮬레이터가 되긴 하지만, 컴터가 좀 구려서 바로 이전에 쓰던 폰을 테스트 시료로 사용중인데, 이놈이 USB포트 접촉불량이 좀 있다. USB선을 건드리지 않고 쓰는게 너무 스트레스라 찾아보니 역시나 adb를 리모트로 연결하는 법이 있네. 안드로이드 스튜디오에서도 인식해서 무지 편해짐. 1. Android 11 이전 방법 참고로, android 11부터 무선 디버깅(wireless debugging)이 추가 됐다. 먼저 android 11 이전버전에서의 방법을 알아보자….
Android : Paging Library
네트워크에서 데이터를 읽어오든지, DB에 저장된걸 가져오든지 데이터가 매우 많아지면 한번에 읽어올 때 문제가 생기게된다. 그렇다고 화면에 보이는 만큼만 매번 읽어오게되면, 스크롤등을 이용하여 데이터를 살펴볼 때, 렉이 생길 것이다. 이를 해결하기위해 사용자 입력에 충분히 반응할만큼 여유있는 데이터를 읽어오고, 사용자가 추가적으로 데이터를 살펴볼 때, 필요한 만큼씩 미리 읽어오는 기법이 오래전부터 사용되어 왔다. 이걸 paging 기법이라 하는데, 꼭…