개발 일지/기타 4

[Android] BottomSheetScaffold의 BottomSheet가 사용자 입력으로는 숨겨지지 않지만, 프로그래밍적으로는 숨겨질 수 있게 만들기

#1 문제 상황#1-1 사용자 입력으로 숨겨지지 않게 만들기val scaffoldState = rememberBottomSheetScaffoldState( bottomSheetState = rememberStandardBottomSheetState( skipHiddenState = true ))이러면 된다. 사실 skipHiddenState는 기본값이 true기에 그냥 val scaffoldState = rememberBottomSheetScaffoldState()만 써도 되긴 한다. 본 게시글의 코드는 기록의 의미가 강하므로, 그냥 명시적으로 밝혀 썼다. #1-2 문제점FilledTonalButton( onClick = { scope.launch { ..

Pagination 인터페이스ㆍ구현ㆍ검증용 앱

#1 Pagination 클래스Pagination 클래스는 전체 게시글 갯수, 한 페이지에 표시할 게시글 갯수, 한 페이지 블럭에 표시할 페이지들의 갯수에 기반해 게시판의 네비게이션 역할을 하는 클래스다. 예전에 웹 프로그래밍에서 게시판을 만들 때 처음 만들었다. 그 이후로도 2 ~ 3번 정도 다시 Pagination 클래스를 재작성했던 기억이 있다. 얼마나 비효율적인가! 그래서 이참에 완벽하게 구현하고 기록해두려 한다. 앞으로 Pagination 클래스는 본 게시글의 코드를 재사용할 것이다. #2 기본 코드#2-1 인터페이스// by interfacer_han (https://kenel.tistory.com/327)/*(example) goToFirstPageBlockButton: (example) g..

[Android] Hilt - java.lang.RuntimeException: Unable to instantiate application

#1 문제 상황#1-1 Hilt 도입 [Android] Dagger2 - Hilt로 마이그레이션#1 Hilt 개요 Hilt를 사용한 종속 항목 삽입  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. Hilt를 사용한 종속 항목 삽입 컬렉션을 사용해 정리하기 내 환경설정을 기준으kenel.tistory.com위 게시글에 기반해, 개발 중인 앱에 Hilt를 도입하고 있었다. #1-2 Application 클래스package com.example.nutri_capture_new.diimport android.app.Applicationimport dagger.hilt.android.HiltAndroidApp@HiltAndroidAppclass H..

앞으로의 App 개발 일지 작성

#1 배보다 배꼽이 더 큰 상황지금껏 개발 일지를 상세하게 적었던 이유는, '왕초보 프로그래머가 따라할 수 있게'하기 위함이었다. 그러나, 배보다 배꼽이 커져버렸다. 왜냐하면 블로그 기록을 어떻게 더 '친절'하게 남길까를 고민하는 시간이, 전체 공부에서 상당한 부분을 차지해버렸기 때문이다. 게다가 "개발 일지를 상세하게 적었다"는 건 내 사견에 불과하다. 진짜 왕초보라면, 분명 내가 생각지도 못한 부분에서 막힐테니 말이다. 물론 그런 경우의 수까지 고려하는 게 좋겠지만, 그건 블로그가 아니라 전문 작가가 쓴 프로그래밍 교재에서 행해져야 하는 것이다. 즉, 의미있는 기록이 아니었다는 말이다. 실제로 블로그 통계를 봐도 App 개발 일지를 본 사람은 몇 손가락에 꼽는다. 의미가 없더라도 써서 나쁠 건 없다...