304일차 - Kotlin Room을 활용한 간단한 게시판 만들기

2021. 10. 29. 19:19Diary/300~400


우선 GitHub와 연동을 하자.
https://github.com/KwonGeneral/Kotlin_Room_Example.git

 

GitHub - KwonGeneral/Kotlin_Room_Example: Kotlin Room Board Example

Kotlin Room Board Example. Contribute to KwonGeneral/Kotlin_Room_Example development by creating an account on GitHub.

github.com

 

그다음!
디자인을 만들어보자.

게시판 형식으로
제목만 뽑아서 목록 리스트를 보여주고
클릭하면 해당 글의
제목과 내용을 보여준다.
수정과 삭제 버튼도 추가하자.

1개의 Activty
4개의 Fragment가 필요하다.

프래그먼트는

1. 게시판 목록 리스트

2. 게시글 생성

3. 게시글 자세히보기

4. 게시글 수정

이렇게 구성할 예정이다.

 


현재 시간 오후 6시 50분
Kotlin Room을 사용한
게시판 CRUD 앱을 완성했다.

간단한 리뷰를 하고 글을 마치려고 한다.

자세한 소스코드는 깃허브를 참고.

https://github.com/KwonGeneral/Kotlin_Room_Example.git

 

< BoardData >

이곳에서 테이블 구조체 선언 및 생성을 한다.

 

< BoardInterface >
Interface대신 DAO로 많이들 사용한다.
나는 Interface라는 명칭이 편해서
이렇게 사용했다.
여기서는 Retrofit2 처럼
데코레이터를 사용해 구문을 만든다.

 

< BoardDataBase >
여기서는 구조체(Data)와 구문(Interface)으로
DB를 만든다.
아래의 getInstance는 DB를 어디서든
사용할 수 있게
코드를 짜둔 것이다.


원래는 아래처럼 각 액티비티, 프레그먼트에서
선언한 후에 사용해야 한다.


하지만 DataBase Instance를 통해

이렇게 한 줄로, 어디서든 사용할 수 있다.


 

 


 

 

 


Kotlin Room에 대해서 알아보고
직접 사용해봤는데,
기초에 있어서는 어렵게 생각하지
않아도 될 것 같다.

내가 생각했을 때,
DB는 CRUD만 할 줄알면
전부 다 할 수 있다고 생각한다.
그 외 명령어들은 CRUD를
수월하게 도와주는 역할이라고
생각한다.

확실히 로컬 DB라서
통신이 빠지니 속도가 굉장히 빠르다.
서버 DB와 연동을 할 때는,
서버 DB에 맞춰서 로컬 DB 구조체를 만들고
네트워크가 연결 될 때
그에 맞춰서 반복문으로 DB 데이터들을
하나하나 업로드하면 될 것 같다.
이에 대해서는 나중에 직접
테스트해보고 글을 올릴 예정이다.

이번 주 토요일, 일요일은
데이트와 팀 프로젝트로 인해
시간이 많이 부족했는데
다행히 Room 기초를 빨리 해봐서
시간을 벌었다.

주말 동안에는 AI, DL에 대한
간단한 조사와
DB의 Query문이 어떤 방식으로
작동하는지에 대해 검색해보려고 한다.

이상으로 글을 마친다.