본문 바로가기

Android/Android4

[Android] 앱 삭제 후 재설치해도 데이터가 남아있는 문제 앱을 삭제 후 재설치해도 삭제 전에 저장되어 있던 데이터가 남아있는 경우가 있다. Android 6.0(API 수준 23) 이상을 타겟팅하는 앱은 자동으로 자동 백업을 하게 되는데, AndroidManifest.xml 파일의 application에 android:allowBackup 속성을 따로 설정하지 않으면 자동으로 true로 설정된다. 이로 인해 사용자도 모르게 데이터가 구글 클라우드에 자동으로 백업된다. 자동 백업을 중지하려면? AndroidManifest.xml 파일에서 application 요소에 아래 두 속성을 추가한다. android:allowBackup="true" // 백업을 사용 중지한다. android:fullBackupContent="false" // 백업 규칙을 포함하는 XML .. 2022. 1. 19.
[Android] RecyclerView DiffUtil RecyclerView에 표현할 데이터를 업데이트하기 위해 주로 notifyDataSetChanged()를 호출한다. notifyDataSetChanged() 리스트의 내용이 변경되어 notifyDataSetChanged()를 호출하면, Adapter에게 RecyclerView의 데이터가 바뀌었으니 모든 항목을 통째로 업데이트를 하라는 신호를 보낸다. 이 방법은 모든 데이터를 다시 그리기 때문에 업데이트 과정이 지연되어 UX에 영향을 미칠 가능성이 매우 크다. 우리는 리스트를 매일 보고 사용한다. 변경이 된 데이터에 대해서만 Adapter 업데이트를 할 필요가 있는데 이를 위해 고안된 것이 DiffUtil 클래스다. DiffUtil을 이용하여 데이터를 효율적으로 업데이트 할 수 있다. DiffUtil R.. 2021. 9. 16.
[Android] Databinding error : cannot find symbol ActivityBindingImpl error: cannot find symbol 1. Build > Clean Project 2. Build > Rebuild Project 3. File > Invalidate Caches/Restart... > Invalidate Caches and Restart 개발 중, 불필요한 캐싱 파일이나 오류를 생성할 수 있다. 갑작스러운 빌드 에러가 뜬다면, 안드로이드 클리닝 명령 3종 세트를 실행해 보자. 2021. 9. 3.
[Android] Hilt @ViewModelInject is Deprecated @HiltViewModel class MainViewModel @Inject constructor( private val repository: Repository ): ViewModel() { // Some code } Hilt의 @ViewModelInject deprecated 문제 -> @Inject로 변경 후 @HiltViewModel 를 추가하여 해결 2021. 8. 30.