-
(30초 읽기) 안드로이드에서 데이터를 저장하는 3가지 방법📌Android 개발/데이터 처리 및 관리 2025. 2. 6. 21:28
1️⃣ ViewModel + SavedStateHandle 🧠
✔️ 특징
- 프래그먼트가 살아있는 동안 데이터를 유지
- 화면 회전, 백그라운드 이동 후에도 데이터 유지
✔️ 언제 사용하면 좋을까?
✅ 일시적인 데이터 유지가 필요할 때
✅ 화면 전환 시 데이터가 초기화되지 않도록 할 때✔️ 코드 예시
class MyViewModel(private val savedStateHandle: SavedStateHandle) : ViewModel() { var myData: String get() = savedStateHandle["key"] ?: "" set(value) { savedStateHandle["key"] = value } }
2️⃣ SharedPreferences 🗄
✔️ 특징
- 간단한 데이터(설정값, 로그인 정보 등) 저장 가능
- 앱이 종료되더라도 데이터 유지
✔️ 언제 사용하면 좋을까?
✅ 사용자의 설정값 저장 (ex. 다크모드 여부, 언어 설정)
✅ 앱 종료 후에도 유지해야 하는 소량의 데이터✔️ 코드 예시
val sharedPreferences = context.getSharedPreferences("MyPrefs", Context.MODE_PRIVATE) val editor = sharedPreferences.edit() editor.putString("username", "User123") editor.apply()
3️⃣ Room Database 🏛
✔️ 특징
- SQLite 기반의 데이터베이스로 대량의 데이터 저장 가능
- 데이터 검색, 정렬, 수정 기능 제공
✔️ 언제 사용하면 좋을까?
✅ 대량의 데이터를 저장하고 관리해야 할 때
✅ 검색 및 정렬 기능이 필요한 경우 (ex. 일정 관리, 노트 앱 등)✔️ 코드 예시
@Entity data class User(@PrimaryKey val id: Int, val name: String) @Dao interface UserDao { @Insert fun insert(user: User) @Query("SELECT * FROM User") fun getAllUsers(): List<User> }
방법 특징 추천 사용 경우 ViewModel + SavedStateHandle 프래그먼트가 살아있는 동안 데이터 유지 화면 전환 시 데이터 유지 SharedPreferences 간단한 데이터 저장, 앱 종료 후에도 유지 앱을 껐다 켜도 데이터 유지 필요 Room DB 영구 저장 가능, 검색 및 정렬 가능 데이터가 많고 장기 저장 필요
🚀 한 줄 요약
- 일시적 데이터 저장 ➡ ViewModel + SavedStateHandle
- 설정값, 작은 데이터 ➡ SharedPreferences
- 대량의 데이터, 검색 필요 ➡ Room Database
👉 여러분의 앱에 맞는 방법을 선택하세요! 🔥
'Android 개발 > 데이터 처리 및 관리' 카테고리의 다른 글
(1분 읽기) 안드로이드 SQLite 완전 정복! 데이터 저장 & 트랜잭션 관리 🖥️ (0) 2025.02.12 (30초 읽기) SQLite3: 가볍고 강력한 파일 기반 데이터베이스! 🖥️ (0) 2025.02.12 (30초 읽기) Room DB: 안드로이드 데이터 저장, 이게 답이다! 🖥️ (0) 2025.02.12 (1분 읽기) 초보 앱 개발자를 위한 초기 데이터 제공 방법 고찰 🤔 (1) 2025.02.07 (30초 읽기) 초보 앱 개발자를 위한 초기 데이터 제공 방법 고찰 🤔 (0) 2025.02.07