Room 사용법을 알아보겠습니다.
앱 내부에 데이터를 관리하는 기능을
도와주는 라이브러리입니다.
SQLite보다 쉽게 사용할 수 있습니다.
자세한 내용은 아래 링크를 가시면
보실 수 있습니다.
https://developer.android.com/training/data-storage/room?hl=ko
build.gradle(Module:프로젝트명:app)
dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.
def room_version = "2.4.2"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
- 설명 -
1. 데이터가 담길 변수를 제공
2. @Entity로 지정
@Entity
public class User {
@PrimaryKey(autoGenerate = true)
public int uid;
@ColumnInfo(name = "userName")
public String userName;
@ColumnInfo(name = "userAge")
public String userAge;
}
- 설명 -
1. 데이터베이스의 데이터를
등록, 조회, 수정, 삭제하는 기능을 제공
2. @Dao로 지정
@Dao
public interface UserDao {
@Query("SELECT * FROM user")
List<User> getAllUser();
@Insert
void insertUser(User user);
@Delete
void userDelete(User user);
@Update
void userUpdate(User user);
}
- 설명 -
1. 데이터베이스와 연결된
DAO 인스턴스제공
2. @Database로 지정
3. 데이터 항목 클래스(User) 등록
@Database(entities = {User.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract UserDao userDao();
private static AppDatabase INSTANCE;
public static AppDatabase getDBInstance(Context context){
//INSTANCE가 null이면 초기화
if(INSTANCE == null){
INSTANCE = Room.databaseBuilder(context.getApplicationContext()
, AppDatabase.class, "DB_NAME")
.allowMainThreadQueries()
.build();
}
return INSTANCE;
}
}
2022.05.07 - [안드로이드] - [안드로이드] HTTP 통신 Volley 사용법 part1 - 간단한 요청 및 응답
2022.04.19 - [안드로이드] - [안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성
2022.04.08 - [안드로이드] - [안드로이드] Tab Custom Animation part1 - 화면 구성
[안드로이드] Database Room 사용법 part3 - 리스트 (0) | 2022.05.16 |
---|---|
[안드로이드] Database Room 사용법 part2 - 데이터 등록 (0) | 2022.05.15 |
[안드로이드] LiveData 만드는 방법 part2 - 레이아웃에 ViewModel 직접 적용 (0) | 2022.05.13 |
[안드로이드] LiveData 만드는 방법 part1 - 실시간 데이터 변경 (0) | 2022.05.12 |
[안드로이드] ViewModel - 화면 회전 시 데이터 초기화 막는 방법 (0) | 2022.05.11 |
댓글 영역