배경 현재 보고있는 혹은 포커스하고 있는 RecyclerView의 스크롤 상태를 체크해야하는 경우가 존재한다. 이 경우에 어떻게 포커스하는가에 대해 작성하고자 한다 구현 방법 1. 현재 스크롤 상태 체크 addOnScrollListener 사용 관련 공식문서: RecyclerView.OnScrollListener | Android Developers 기존 RecyclerView에 OnScrollListener()를 추가해 onScrolled와 onScrollStateChanged를 override해서 현재 스크롤 상태를 체크할 수 있다. 1. onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) → 스크롤이 되는 중일때 호출 dx, dy 변수는 각자 수직/..
작성 배경 Android Keystore가 왜 필요할까? APK 혹은 AAB을 만들어 앱을 배포하기 위해서는, 앱에 서명하는 과정을 거쳐 서명된 앱을 배포해야만 한다. 이 과정에서 사용되는 것이 KeyStore인데, 해당 KeyStore를 사용하기 위해서는 비밀번호가 2종류가 사용되고, 1개는 Key Store Password, 다른 1가지는 Key Password이며, 이는 서명된 앱을 Generate 할 때마다 사용되게 된다. 문제는, 이 keystoe 파일이 없거나 해당 keystore 파일을 사용하기 위한 패스워드를 잊어버렸을 때 발생한다. 이 경우 기존에 플레이스토어에 올려놨던 앱을 업데이트 하는 등의 조치를 더이상 취할 수 없게 된다.. 왜냐하면, keystore을 재발급 받아서 서명하게 되면..
Application을 처음 실행 하였을 때, 가장 상단에 나오는 바(Appbar) 를 커스텀하고자 한다. Toolbar는 안드로이드 5.0 이후로 추가된 위젯으로, 상단에 보이는 타이틀이 해당되며, 높은 빈도 혹은 가장 자주 사용되는 액션을 제공하는 Appbar를 만들 때 사용한다. 안드로이드 5.0 이전에는 Actionbar로 불렸으나 이후로 바뀐듯 하다. 이전에는 Appbar를 생성할 때, Actionbar 클래스를 사용해 만들었으나 버전에 따라 다르게 동작하는 등의 문제로 자연스럽게 Actionbar를 대체하게 된 것이 바로 Toolbar라고 보면 될듯하다. 이전과 차이점이라고 한다면, 기존의 Actionbar는 고정된 상태였던 것에 반해 Toolbar는 Customizing이 자유로워 사용자가 ..
SharedPreferences 실제 사용 실제 사용 부분은 구글링을 통해 많은 부분 블로그들을 참고하였다. 1. build.gradle/app implementation 'androidx.preference:preference-ktx:1.1.1' 먼저 build.gradle sync부터 진행해준다 2. PreferenceHelper.kt object PreferenceHelper { fun defaultPrefs(context: Context): SharedPreferences = PreferenceManager.getDefaultSharedPreferences(context) private inline fun SharedPreferences.edit(operation: (SharedPreference..