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라고 하는 것은 앞에서 말한대로…
[글쓴이:] batmask
Android: gradle 7.0 upgrade 후 에러
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
안드로이드 Room에서 Database 클래스의 Singleton 구현에 조금 의아해 보이는 코드가 있었다. Database class 코드를 다시보면 아래와 같은데, singleton 구현부분에서 getInstance() 함수만 떼어서 보자. 코드를 보면, instance의 null 여부를 두 번 체크하고 있다. 생각없이 보면 이상할 수 있는데, 멀티 쓰레드 동기화시 꼭 필요한 부분이며 Double-checked locking 이라고 부르는 디자인 패턴이다. 링크의 위키페이지를 따라가면 관련 설명이 있다….
Android : 무선 디버깅 사용하기
에뮬레이터가 되긴 하지만, 컴터가 좀 구려서 바로 이전에 쓰던 폰을 테스트 시료로 사용중인데, 이놈이 USB포트 접촉불량이 좀 있다. USB선을 건드리지 않고 쓰는게 너무 스트레스라 찾아보니 역시나 adb를 리모트로 연결하는 법이 있네. 안드로이드 스튜디오에서도 인식해서 무지 편해짐. 1. Android 11 이전 방법 참고로, android 11부터 무선 디버깅(wireless debugging)이 추가 됐다. 먼저 android 11 이전버전에서의 방법을 알아보자….
Android : Paging Library
네트워크에서 데이터를 읽어오든지, DB에 저장된걸 가져오든지 데이터가 매우 많아지면 한번에 읽어올 때 문제가 생기게된다. 그렇다고 화면에 보이는 만큼만 매번 읽어오게되면, 스크롤등을 이용하여 데이터를 살펴볼 때, 렉이 생길 것이다. 이를 해결하기위해 사용자 입력에 충분히 반응할만큼 여유있는 데이터를 읽어오고, 사용자가 추가적으로 데이터를 살펴볼 때, 필요한 만큼씩 미리 읽어오는 기법이 오래전부터 사용되어 왔다. 이걸 paging 기법이라 하는데, 꼭…