Skip to content

배토의 개발일지

나를위한 단편적 기억들의 기록

Menu
  • 안드로이드
  • Godot
  • 게임제작일지
  • 블렌더
  • 코틀린
  • 파이썬
  • 집수리
  • 기타
Menu

[작성자:] batmask

Android : Request Runtime Permissions

Posted on 2021년 10월 22일2025년 9월 12일 by batmask

안드로이드의 permission은 초기에는 Manifest에 추가만 해주면 해결 됐지만, 보안이 강화되면서 API 23부터 사진을 찍거나 위치정보를 이용하는등의 경우에 런타임으로 요청을 해서 사용자 확인을 받아야 한다. Runtime Permissions는 dangerous permissions라고도 하며, 시스템이나 다른앱에게 영향을 줄 수 있는 영역에 접근할 때 필요하다. runtime 으로 permission을 요청하면 사용자에게 다음과 같은 대화상자가 표시된다. 사용자는 허용/거부를 선택할 수 있고 그에 따라…

Android: onActivityResult()의 대안 RegisterForActivityResult()

Posted on 2021년 10월 21일2025년 9월 12일 by batmask

외부 Activity를 실행할 때, 이전 방식은 startActivityForResult()를 이용하여 Intent를 날리고 onActivityResult() callback으로 결과를 받아오는 방식이었다. 새롭게 권장하는 방식은 AndroidX 라이브러리의 Activity/Fragment 를 이용하여 RegisterForActivityResult()를 사용하는 방식이다. 정확한 장점을 설명하기에 아직 내 이해도가 부족하지만, 기존 방식이 좀 무식하긴 했다. 인텐트로 외부 액티비티를 실행하고, 뭘 실행했든지 onActivityResult() 하나의 콜백에서 request code로 분류하며 전부 처리해야 했다. 또한, 인텐트…

Android: App bar 에 대해 (feat. ActionBar, Toolbar)

Posted on 2021년 8월 7일2025년 9월 12일 by batmask

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: gradle 7.0 upgrade 후 에러

Posted on 2021년 7월 31일 by batmask

Android Studio Arctic Fox 2020.3.1 이 정식버전으로 릴리즈됐다. 업데이트 하면서 Android Studio와 AGP(Android gradle plugin)의 버전 체계가 변경되었다. Android Studio는 그 기반인 IntelliJ IDEA에 맞춰 <IntelliJ년도>.<Major 버전>.<Minor 버전> 형태를 사용하고, AGP는 시멘틱 버전관리를 따르면서 필요로하는 gradle 버전을 따라가게 되었다. 이 버전에 대한 자세한 내용은 공식 블로그를 통해 살펴볼 수 있다. 문제는 자연스럽게 Android Studio를 업데이트…

Multithread Singleton 구현에서의 Double-checked locking pattern

Posted on 2021년 7월 16일2025년 9월 12일 by batmask

안드로이드 Room에서 Database 클래스의 Singleton 구현에 조금 의아해 보이는 코드가 있었다. Database class 코드를 다시보면 아래와 같은데, singleton 구현부분에서 getInstance() 함수만 떼어서 보자. 코드를 보면, instance의 null 여부를 두 번 체크하고 있다. 생각없이 보면 이상할 수 있는데, 멀티 쓰레드 동기화시 꼭 필요한 부분이며 Double-checked locking 이라고 부르는 디자인 패턴이다. 링크의 위키페이지를 따라가면 관련 설명이 있다….

글 페이지 매김

  • Previous
  • 1
  • …
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • …
  • 29
  • Next

최신 글

  • 다 까먹은 간단한 수학 : 자연상수 e
  • 집수리: 주방후드 교체(과정 사진 없음)
  • 집수리 : 문 손잡이 교체, 원형->레버
  • 집수리 : 30년 넘은 집 콘센트 교체

보관함

2025 11월
일 월 화 수 목 금 토
 1
2345678
9101112131415
16171819202122
23242526272829
30  
« 10월    

메타

  • 로그인
  • 입력 내용 피드
  • 댓글 피드
  • WordPress.org
©2025 배토의 개발일지 | Built using WordPress and Responsive Blogily theme by Superb