[Android] Room DataBase 2편

ParkGil-hyeon·2021년 11월 29일
0

android

목록 보기
2/2
post-thumbnail

시작하기 전

Room Database 1편 을 보고오는 것을 추천!

Database 생성

저번 1편에서 우리는 Appdatabase, Post, PostDao를 만들었다.
이제는 이렇게 구성요소를 생성한 것을 활용하여 실제 DB를 빌드할 것이다.

이번에도 Android Docs를 최대한 활용하기로 하자.

1. DB 빌드

AppDatabase appDatabase = Room.databaseBuilder(getApplicationContext(), AppDatabase.class, "database_post")
                .allowMainThreadQueries()
                .build();

이렇게 코드를 작성하면 이다.
성공적으로 DB가 생성되었을 것이다.

데이터 엑세스

우리가 만들었던 Appdatabase, Post, PostDao 중 PostDao는 우리가 DB를 통해
작업을 할 수 있도록 도와준다.
예시) 데이터 가져오기, 데이터 추가하기, 데이터 삭제하기 등

// PostDao 코드
Query("SELECT * FROM Post")
    List<Post> getAll();
    @Insert
    void insert(Post post);
    @Update
    void updatePost(Post post);
    @Delete
    void deletePost(Post post);
    @Query("DELETE FROM Post")
    void clearAll();

1. 데이터 가져오기

@Query("SELECT * FROM Post")
   List<Post> getAll();

우리가 PostDao에 썼던 코드다. 이 코드는 DB에 있는 모든 정보를 List 형태로 불러온다.

appDatabase.postDao().getAll();

위와 같은 코드로 데이터를 깔끔히 불러올 수 있다.

2. 데이터 추가하기

@Insert
    void insert(Post post);
appDatabase.postDao().insert(추가하고 싶은 데이터);

위와 같은 코드로 데이터 추가도 깔끔히 성공했다.

3. 데이터삭제하기

@Query("DELETE FROM Post")
    void clearAll();
appDatabase.postDao().clearAll();

위와 같은 코들로 DB 내부의 모든 데이터를 삭제할 수 있다.

마무리

Room으로 안드로이드 내부의 DB를 간단히 사용하는 방법에 대해서 알아봤다.
가벼운 데이터 저장이 필요한 안드로이드 앱을 개발 중이라면
Room을 한번 사용해보는 것도 추천한다.

profile
개발자

0개의 댓글