Home 5월 12일 Today I Learned
Post
Cancel

5월 12일 Today I Learned

오늘한 일

  • 프로젝트를 진행하였다
  • 블로그 TIL을 작성하였다
  • 1일 1커밋을 하였다

느낌 점

처음에는 오늘 학습한 단어만 저장하려고 getSharedPreferences을 사용했는데 앱을 계속해서 개발하다보니 다른 부분에 데이터도 저장해야 할 거 같은데 다른 방법도 한번 찾아봐야겠다

배운 점

getSharedPreferences 싱글톤

어제 getSharedPreferences 사용법을 배우고 앱에서 사용하였지만 내가 한 방식은 좋지 못한 방식으로 비효율적으로 계속해서 액티비티마다 새로운 객체를 생성하는 방식이었다

getSharedPreferences는 앱의 어디서든 전역적으로 사용하기 때문에 싱글톤을 사용해서 어디서든 접근 가능하게 만드는게 좋다

그렇게 싱글톤을 구현하기 위해서는 이전 과정에서 한가지 과정이 추가되는데

1
2
3
4
5
6
7
8
9
10
class MyApplication : Application() {
    companion object {
        lateinit var prefs: PreferenceUtil
    }

    override fun onCreate() {
        prefs = PreferenceUtil(applicationContext)
        super.onCreate()
    }
}

이렇게 새로운 클래스 파일을 생성 후 Manifest에 등록 그리고 다른 액티비티에서 사용할 때는 MyApplication.prefs.getString(“email”, “no email”) 이런식으로 MyApplication에 접근해서 사용하면 된다

참고

내일 계획

내일은 코딩 보카 2.0의 단어장 기능을 서버와 연동해야겠다

This post is licensed under CC BY 4.0 by the author.

5월 11일 Today I Learned

5월 13일 Today I Learned