깨알 개념 122

[Android] Room - AutoMigrationSpec

#1 이전 글 [Android] Room - AutoMigration 기초#1 개요#1-1 데이터베이스 스키마 (Database Schema) [Android] Room - Entity, DAO, Database#1 이전 글 [Android] Room - 기초, INSERT와 DELETE 연습 #1 Room 소개 Room을 사용하여 로컬 데이터베이스에 데이터 저장 | Android Dkenel.tistory.com위 게시글에서 이어진다. #2 AutoMigrationSpec AutoMigrationSpec  |  Android Developersandroidx.compose.desktop.ui.tooling.previewdeveloper.android.comColumn 또는 Table을 추가할 때는 이전..

[Android] Room - AutoMigration 기초

#1 개요#1-1 데이터베이스 스키마 (Database Schema) [Android] Room - Entity, DAO, Database#1 이전 글 [Android] Room - 기초, INSERT와 DELETE 연습 #1 Room 소개 Room을 사용하여 로컬 데이터베이스에 데이터 저장 | Android Developers Room 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 방법 알아보kenel.tistory.com데이터베이스 스키마는 Table의 갯수나 각 테이블에 있는 Column의 갯수와 타입 등을 의미한다. 애플리케이션을 유지보수하다가, 어떤 Table에 새로운 Column을 추가해야할 필요성이 생겼다고 해보자. 데이터베이스를 Room으로 구현했다면, @Entity에 새로운 @Colum..

[Android] Room - 반환 값이 있는 INSERT

#1 INSERT의 반환값 [Android] Room - Entity, DAO, Database#1 이전 글 [Android] Room - 기초, INSERT와 DELETE 연습 # Room 소개 Room을 사용하여 로컬 데이터베이스에 데이터 저장 | Android Developers Room 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 방법 알아보kenel.tistory.comRoom의 DAO의 어떤 메소드들은 Long 또는 List형 return을 가질 수 있다 (위 게시글의 #5-1 참조). 아래에 있는 샘플 앱을 수정하여 @Insert 어노테이션이 붙은 메소드의 return을 Long으로 두고, 해당 return을 화면에 표시하게 만들어본다. #2 수정할 샘플 앱 [Android] Room -..

[Android] RecyclerView - notifyDataSetChanged()

#1 이전 글 [Android] RecyclerView - Adapter에 인자(Argument) 전달#1 이전 글 [Android] RecyclerView - 기초#1 ListView vs RecyclerView 화면에 요소(Item)을 100개 표현한다고 해보자. ListView나 GridView 등의 전통적인 Container Widget들은 이 100개의 아이템을 모두 불러온(load)다. 그kenel.tistory.com이전 게시글에선 Item의 List를 Adapter의 인자로 전달했었다. 이 때, 위 게시글의 완성된 앱을 수정해서 Item의 List가 여러 번 바뀌는 경우를 생각해보겠다. #2 Item의 List의 빈번한 변경#2-1 개요위와 같이 맨 위의 버튼을 누르면, RecyclerVi..

[Android] ViewModel - View에 Event 발생시키기

#1 샘플 앱 [Android] ViewModel - View에 객체(ViewModel) 전달#1 개요 #1-1 Data Binding과 ViewModel [Android] Data Binding - View에 객체 전달 #1 객체 전달의 필요성 #1-1 이전 글 Data Binding - 기초 #1 데이터 바인딩 사용 전 #1-1 예시 앱 위과 같은 간단한 앱이 있다. Button을kenel.tistory.com아래에 있는 코드들은 위 게시글의 완성된 앱을 기반으로 수정된 것들이다. #2 목표 (수정할 부분)// package com.example.eventwithviewimport androidx.lifecycle.MutableLiveDataimport androidx.lifecycle.ViewMod..

[Android] Room - UPDATE 연습

#1 이전 글 [Android] Room - 기초, INSERT와 DELETE 연습#1 Room 소개 Room을 사용하여 로컬 데이터베이스에 데이터 저장 | Android Developers Room 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 방법 알아보기 developer.android.com SQLite는 모바일 기기를 위한 kenel.tistory.com이전 게시글의 완성된 앱을 기반으로, 미구현한 RecyclerView를 구현하고, Entity에 UPDATE문까지 적용시켜본다. #2 개요 [Android] RecyclerView - 기초#1 ListView vs RecyclerView화면에 요소(Item)을 100개 표현한다고 해보자. ListView나 GridView 등의 전통적인 Cont..

[Android] Room - Entity, DAO, Database

#1 이전 글 [Android] Room - 기초, INSERT와 DELETE 연습#1 Room 소개 Room을 사용하여 로컬 데이터베이스에 데이터 저장 | Android Developers Room 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 방법 알아보기 developer.android.com SQLite는 모바일 기기를 위한 kenel.tistory.com본 게시글은 Room의 기본을 담은 앱을 만들기 위한 이전 게시글에서 이어진다. 여기서 Room의 3가지 핵심 클래스인 Entity 클래스, DAO 클래스, Database 클래스의 구현을 다룬다. 이전 게시글에서 모듈 수준 build.gradle.kts에서 필요한 라이브러리를 다운로드해야 본 게시글을 진행할 수 있다. #2 Entity, DA..

[Android] Room - 기초, INSERT와 DELETE 연습

#1 Room 소개 Room을 사용하여 로컬 데이터베이스에 데이터 저장 | Android DevelopersRoom 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 방법 알아보기developer.android.comSQLite는 모바일 기기를 위한 SQL Database 엔진이다. SQLite는 수 많은 Android 기기에 탑재되어있다. 안드로이드 개발자라면 SQLite를 잘 다룰 수 있어야 한다. 하지만, SQLite를 생으로 다루는 것은 쉽지 않다. 반복되는 Database Query문 등과 같은 많은 상용구 코드를 반복적으로 적어주어야 하기 때문이다. 그렇기에, Database 작업에 많은 시간이 소요된다. 이상적인 그림이 아니다. 이런 문제를 개선하기 위해서, 구글의 Room Database p..

[Kotlin] Coroutines - LiveData Builder

본 게시글의 Coroutine 개념은 Android 내에서 사용되는 것을 전제로 작성되었다. #1 Coroutine이 쓰인 LiveData 예제 - 전통적인 방법#1은 LiveData 값 할당에 Coroutines가 쓰인 샘플 프로젝트다. #1-1 build.gradle.kts (Module)plugins {    ...}android {    ...}dependencies {    ...    //  Coroutines    val coroutinesVersion = "1.7.3"    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")    implementation("org.jetbrains.kotlin..

[Kotlin] Coroutines - LifecycleScope

본 게시글의 Coroutine 개념은 Android 내에서 사용되는 것을 전제로 작성되었다. #1 이전 게시글 [Kotlin] Coroutines - ViewModelScope본 게시글의 Coroutine 개념은 Android 내에서 사용되는 것을 전제로 작성되었다. #1 ViewModel 속 전통적인 방식의 Coroutinesimport androidx.lifecycle.ViewModel import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dkenel.tistory.com이전 게시글에서 ViewModel의 수명주기를 참조해, ViewModel이 소멸될 때 알아서 종료되는 CoroutineScope에 대해 다뤘다. 이번엔 그 참조의 대상..