상세 컨텐츠

본문 제목

[안드로이드] Database Room 사용법 part1 - Room 설정

안드로이드

by aries574 2022. 5. 14. 15:05

본문


Room 사용법을 알아보겠습니다. 

앱 내부에 데이터를 관리하는 기능을

도와주는 라이브러리입니다. 

SQLite보다 쉽게 사용할 수 있습니다. 

자세한 내용은 아래 링크를 가시면

보실 수 있습니다.

https://developer.android.com/training/data-storage/room?hl=ko 

 

Room을 사용하여 로컬 데이터베이스에 데이터 저장  |  Android 개발자  |  Android Developers

Room 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 방법 알아보기

developer.android.com


목차

1. 라이브러리 등록

2. 데이터 항목 만들기 User.java

3. 데이터 액세스 만들기 UserDao.java

4. 데이터 베이스 만들기 AppDatabase.java


1. 라이브러리 등록

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"

 

2. 데이터 항목 만들기 User.java

 - 설명 - 

 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;
}

 

 

3. 데이터 액세스 만들기 UserDao.java

 - 설명 - 

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);
}

 

4. 데이터 베이스 만들기 AppDatabase.java

 - 설명 - 

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 - 간단한 요청 및 응답

 

[안드로이드] HTTP 통신 Volley 사용법 part1 - 간단한 요청 및 응답

이번 시간에는 HTTP통신을 쉽게 도와주는 Volley 라이브러리를 이용해서 API 호출,  데이터를 가져오는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 권한 등록 3. 라이브러리 등록 4. 메인

aries574.tistory.com

2022.04.19 - [안드로이드] - [안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성

 

[안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성

이번 시간부터 커스텀 달력을 만들어 보겠습니다. 이번에는 메인화면 구성을 해보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구성 activity_main.xml 1. 실행 화면 2. 메인 화면 구성 activity_main.xml  -.

aries574.tistory.com

2022.04.08 - [안드로이드] - [안드로이드] Tab Custom Animation part1 - 화면 구성

 

[안드로이드] Tab Custom Animation part1 - 화면 구성

이번 시간부터 TabLayout을 직접 만들어 애니메이션까지 넣어보는 방법을 알아보겠습니다. 이번 포스팅은 화면 구성을 해보겠습니다. 목차 1. 실행 화면 2. 테마 변경 3. 배경 색상 파일 만들기(drawab

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역