Tech

안드로이드 스튜디오 플라밍고 업데이트 후 gradle 에러

아주 가지가지 한다. 정확히는 플라밍고 문제라기보단 AGP 8.0.0의 문제다. Electric Eel을 쓰다가 Flamingo로 업데이트하고 AGP를 8.0.0으로 업데이트한 후 gradle build를 실행했더니 아래와 같은 에러가 발생했다. 문서 내용을 보면 AGP 7.4.0부터 android compileOptions의 targetCompatibility 값을 제대로 세팅을 해주지 않아서 발생하는 문제라고 한다. AGP 8.1.0-alpha09에서 수정되었다는데 이걸 쓰려면 Flamingo보다 상위 버전, 즉 아직 stable release가 되지 않은

안드로이드 스튜디오 플라밍고 업데이트 후 gradle 에러 Read More »

Fragment에서 권한 요청하기 (2021)

Activity Result를 받아오는 API가 변경되면서 Fragment.requestPermissions도 deprecated 되었다. registerForActivityResult를 호출하고 ActivityResultContracts.RequestPermission을 인자로 전달해야한다. 복수의 권한이 필요한 경우는 Contract를 RequestMultiplePermissions로 바꿔서 사용한다. 하지만 사진/동영상 촬영, 연락처 선택 등 일반적인 케이스는 기본적으로 제공하는 Contract를 활용하는 것으로 커버할 수 있다.

Fragment에서 권한 요청하기 (2021) Read More »

트레이드 오프

트레이드 오프라는 개념을 처음 배울 때는 서로 양립할 수 없다는 사실을 너무 명백히 알 수 있는 케이스들로 배웠던 것 같다. 예를 들면 시간복잡도와 공간복잡도, 또는 일정과 품질과 비용. 시간을 줄이려면 공간을 많이 써야하고, 공간을 아끼려면 시간을 더 써야한다. 일정을 줄이려면 품질이나 비용을 양보해야하고, 품질을 높이려면 일정과 비용을 더 들여야하고, 비용을 줄이려면 품질과 일정을 희생해야한다는 것은

트레이드 오프 Read More »