안드로이드

    구글 22 시작하기 전 정리한 구글 21 Android

    Android 12 ~ Launch animations 앱이 백그라운드에서 로드될 때 launch animations이 노출 기본적으로는 앱 아이콘을 확대하는 애니메이션이 적용됨 (커스터마이징도 가능) Toast Toast를 사용하는 앱의 아이콘을 표시해서 어떤 앱에서 Toast 발생했는지 확인 가능 쌓일 수 있는 Toast 개수를 대폭 줄임 노출 가능한 문자 길이를 줄임 Blur API를 사용해서 View에 Blur 처리 가능 Privacy 이전 버전은 위치 권한을 통해 블루투스 권한을 허용 12버전에서는 블루투스 권한을 새로 정의해서 블루투스를 스캔 연결 가능 Foreground Service Background에서 Foreground Service가 시작하는 것을 제한함

    안드로이드에서 적용해본 템플릿 메소드 패턴

    Anti-OOP: if를 피하는 법 : NHN Cloud Meetup (toast.com) Anti-OOP: if를 피하는 법 : NHN Cloud Meetup Anti-OOP: if를 피하는 법 meetup.toast.com 참고해서 프로젝트에 적용해봤다. 내가 진행하는 프로젝트에서는 다이얼로그 클래스는 하나이지만 다양하게 활용할 수 있도록 모드를 이용해서 dialog를 show 했다. - 이전 코드 private fun registerADialog() { val dialog = customDialog() dialog.mode = 1; dialog.show(...) } private fun registerBDialog() { val dialog = customDialog() dialog.mode = 2..

    안드로이드 Sharedpreferences commit vs apply

    void apply () 호출후 곧바로 리턴되어 스레드를 블록시키지 않는다. 커널모드에서 파일 저장을 알아서 처리. boolean commit () 호출시 스레드는 block 되고 커널에서 파일 저장 완료. 함수는 리턴되고 스레드는 다시 작동하며 처리결과를 true/false 로 반환한다. 굳이 결과값이 필요 없다면 apply 를 사용하는게 반응성면에서 좋다. sharedPreference결국은 파일에 저장하는 데이터인데 별도 스레드에서 비동기 처리할 필요가 있다고 볼 수 있다. commit 호출시 동기 처리 apply 호출시 비동기 처리되므로 apply 를 사용하면된다.

    드로이드나이츠 2021 테스트코드편

    [드로이드나이츠 2021] 강사룡 - Android Testing Best Practices - YouTube 드로이드나이츠 2021 Android Testing Best Practices Why should I write test code 코드 생산성 증대: 확신을 갖고 시스템을 수정할 수 있음. 효율적으로 버그를 잡을 수 있음 코드 변경(특히 Refactoring)을 쉽게 할 수 있다. modular한 설계에 도움: Single responsibility Why should we write test code? 협업을 위해 반드시 필요 여름휴가 중 내 코드에서 장애가 난다면? or 몇 개월 뒤의 내가 갑자기 내 코드를 다시 보게 된다면? 협업을 촉진: 코드 주인이 아니더라도 코드를 수정할 수 ..

    안드로이드 kapt

    안드로이드 kapt

    프로젝트 진행 중 kapt를 찾을 수 없다는 에러가 나타나서 kapt가 어떤 것인지 알아보았고, 정보를 공유하기 위해서 포스팅했다. kapt 이란? Kotlin Annotation Processing Tool이며, Annotation Processor는 자바 컴파일러의 플러그인 일종이다. kotlin Docs에서는 찾아보니 자바 컴파일러에서 코틀린 annotation을 처리하기 위해서 사용되고 있다고 한다. 간단하게 말하면 Dagger, Databinding 등을 사용하기 위해서 kapt를 사용한다. 그러면 annotation이 무엇인가? Annotation 이란? @HiltViewModel class ViewModel @Inject constructor() : ViewModel() { // To do ..

    Compose imageView Url로 load해주는 라이브러리

    README ko - Coil (coil-kt.github.io) README ko - Coil README ko Coil은 Kotlin Coroutines으로 만들어진 Android 백앤드 이미지 로딩 라이브러리입니다. Coil 은: 빠르다: Coil은 메모리와 디스크의 캐싱, 메모리의 이미지 다운 샘플링, Bitmap 재사용, 일시정지/취 coil-kt.github.io coil은 Coroutine으로 만들어진 백엔드 이미지 로딩 라이브러리이다. 사용법은 아래와 같다. 1. 라이브러리 추가 implementation("io.coil-kt:coil-compose:1.4.0") 2. 아래와 같이 사용하면 된다. Image( painter = rememberImagePainter("https://www.e..

    Detecting camera features with Camera2

    Detecting camera features with Camera2 | by David East | Google Developers | Medium Detecting camera features with Camera2 My phone’s camera has a personality of it’s own. It has a flash, it faces backwards, it can take burst shots, and it even has built-in… medium.com Camera2는 장치의 카메라에 직접 엑세스해야 하는 경우에 사용된다. 카메라에 세부적인 수정이 필요없으면 Camera를 intent하는 방식이 제일 좋다고 한다. Camear2의 장점 - 최신 하드웨어에서 향상된 성능 - 더 빠..

    안드로이드 JCenter Deprecated 소식

    안드로이드 JCenter Deprecated 소식

    JCenter 서비스 업데이트 | Android 개발자 | Android Developers JCenter 서비스 업데이트 | Android 개발자 | Android Developers JCenter에서 Android 종속 항목 이전 developer.android.com 안드로이드 빌드 속도를 줄이기 위해서 build.gradle을 보던 중 jcenter에 deprecated 소식을 봤다. 관련 자료를 보니 2022년 2월 1일 이후로는 사용할 수 없다고 한다. mavenCentral로 마이그레이션을 해야 한다고 한다.