작성 배경 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..
SharedPreferences 사용배경 현재 안드로이드 프로젝트 진행 중 사용자의 TOKEN 등을 저장해놓을 만한 공간이 필요해졌다. Access Token을 저장하기 위해서는 Database나 SharedPreferences을 보통 이용한다는 것을 알게 되었고 이를 공부한 것에 대하여 작성하고자 한다. SharedPreferences에 대해서 구글링하던 도중, SharedPreferences의 보안성에 대한 의문을 가진 질문글을 발견해서 해당 질문 글도 첨부해 놓는다. [스택오버플로우 링크] 해당 링크의 답변은 간략하게 말하자면 SharedPreferences은 기본적으로 private하고 다른 Application이 access할수 없으며, 루팅된 기기에서의 접근은 가능할 수 있으나 방지할 수 있는..