inflearn logo
강의

講義

知識共有

[中級編] 親切なJETPACK概論 <下> (Android Kotlin)

DataStore Ex

DataStoreEx 파트 class MyDataStore(context: Context) { 수정 제안)

511

just kim

投稿した質問数 27

0

기존 : 지역 변수

DataStoreEx 파트 class MyDataStore {

...

 

private val Context.dataStore : DataStore<Preferences> by preferencesDataStore("user_pref")

...

}

제안 : 전역 변수로 변경

private val Context.dataStore : DataStore<Preferences> by preferencesDataStore("user_pref")

DataStoreEx 파트 class MyDataStore {

...

}

 

위 내용을 코딩중 Context.dataStore은 전역 변수 또는 싱글톤으로 제작 해야 안정적으로 보입니다 .

 

예를 들어서 Activity안에 위 클래스를 생성하는 코드를 작성한 후 동작 하면 일단은 동작 합니다.

하지만 다시 Activity에 진입하면 에러가 납니다.

DataStore version 1.0.0입니다.

 

왜 그런지 찾아 보니

버전 1.0.0-alpha07

2021년 2월 24일

androidx.datastore:datastore-*:1.0.0-alpha07이 출시되었습니다. 버전 1.0.0-alpha07에 포함된 커밋을 확인하세요.

API 변경사항

버그 수정

 

라고 적혀 있네요 ...

 

그래서 전 Context.myDataStore를 전역 변수로 수정하고 테스트 했는데 정상적으로 동작 되는것을 확인 했습니다.

 

이상입니다.

android kotlin jetpack datastore

回答 3

1

Sim Seon Bo

좋은 글이네요.

companion object {
    private val Context.dataStore : DataStore<Preferences> by preferencesDataStore("user_pref")
}

0

just kim

class MyDataStore(context : Context {

private val Context.dataStore : DataStore<Preferences> by preferencesDataStore("user_pref")

=> 에서

private val Context.dataStore : DataStore<Preferences> by preferencesDataStore("user_pref")

class MyDataStore(context : Context {

Context.dataStore 를 class밖으로 뺐어요 ...

 

0

bokchi

의견 감사합니다.

다음 업데이트에 object 형태로 싱글톤으로 이용하는 형태로 변경하겠습니다!

0

bokchi

안녕하세요

좋은 제안 주셔서 감사합니다.

해당 부분 다시 확인해보겠습니다.

(사실 프레퍼런스나 유틸 종류는 싱글톤으로 저도 많이 사용하긴 합니다만, 예제다 보니 이렇게..)

 

그런데 제안주신 부분이

 

기존

private val Context.dataStore : DataStore<Preferences> by preferencesDataStore("user_pref")

제안

private val Context.dataStore : DataStore<Preferences> by preferencesDataStore("user_pref")

이렇게 똑같이 말씀주셨는데 혹시 어떻게 변경하셨는지 알 수 있을까요?

안드로이드 조직 계정 수익 인증 관련

0

10

2

아무도 모르게 책 내시면 모르실 줄 알고!!

1

24

2

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

1

30

1

스크립트에 대해 질문 있습니다.

1

23

1

같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!

1

16

1

AdMob 계정 승인이 1개월 이상 지연되고 있습니다. 앱 검토와 순서가 어떻게 되는 건가요

0

78

2

구글 플레이 API 업데이트 관련 문의

0

61

2

예전 로드맵과 현재 강의 순서

0

40

1

소스 코드 좀 올려주세요.

0

49

2

개념과 격벽에 대한 이해를 팀과 공유하고 합의하는 방법

1

85

2

JWT토큰 발급 시, subject 값을 다양하게 넣어서 여러 개의 토큰을 만드는 이유

0

51

2

광고 캠페인 종류와 키워드 플래너 관련 질문

0

82

2

안드로이드 기기 실행 오류

0

66

2

테이블 컬럼에 대한 질문

0

58

1

강의에서 사용된 안드로이드 스튜디오 버전을 알고싶어요.

0

63

2

install까지 설치 하였는데 start 가안됩니다.

1

65

2

앱내 광고 빈도 관련 문의사항

0

108

2

실무 내용 문의드려요

0

53

2

suspend fun 과 viewModelScope.launch 에 대해 궁금합니다.

0

139

2

ListAdapter / DiffUtil 관련 강의 문의

0

317

3

강의에서 말씀하시는 레포지토리가

0

302

1

paging lv3 에서 json 받아오는 도메인이 만료됬다고 떠요

0

398

2

Transformations 가 import가 안됩니다!!

0

1144

2

질문드립니다!

0

338

1