마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리사이클러뷰의 아이템을 DB에 저장하는 방법.

0 추천
메모장을 구현하는 중입니다.

 

메모를 다 마치고 나면, 그 메모 내용을 저장한 것이

 

리사이클러뷰의 각각의 항목들에 표시되게 하려고 합니다.

 

이 표시되게 하는 로직은 이미 다 구현 해놓았습니다.

 

다만, 이 항목들을 어떻게하면 DB에 저장할 수 있는지를 잘 모르겠습니다.

 

그리고 이 아이템뷰들은 도대체 무슨 타입을 갖고 있는지 모르겠습니다.

 

타입을 알아야 DB에 저장할텐데...
상쾌한 (1,890 포인트) 님이 2021년 2월 15일 질문

1개의 답변

+1 추천
 
채택된 답변
먼저 저장하고 싶은 항목들이 뭔지 정리해 보세요. 일반적으로 생각할 수 있는 것은

메모 ID, 생성날짜시간, 업데이트 날짜시간, 제목, 내용

등등이 될 겁니다. 각 항목들의 ID 의 경우는 long으로 하시면 되구요.  날짜시간은 String, long, DateTime 세가지 중에서 사용에 적합한 타입을 선택을 하시면 됩니다. 나머지는 String으로 하시면 될 것 같구요. 만약 메모의 내용이 html로 저장되어야 한다면 html테그를 포함하여 메모 필드에 저장하시면 될 것 같네요.

Database를 읽고 쓰는 방법은 Room Database 가이드를 참고하세요.

https://developer.android.com/training/data-storage/room

github을 찾아보시면 노트앱 샘플들이 많이 있을 겁니다. 적합한 예제를 고르셔서 어떻게 노트 데이터를 다루는지 체크해 보시면 좀 더 도움이 될 것 같네요.

그리고 데이터베이스에서 읽어 온 항목들은 바로 리사이클러뷰에 사용하지 마시고 화면에 적합한 데이터 구조로 변환하여 사용하시기 바랍니다. 이게 나중에 화면상에 필요한 기능을 추가하거나 할 때 데이터베이스와 관련된 부분을 덜 건드리게 되기 때문에 더 나은 접근방법이고 권장되는 구조입니다.
spark (226,720 포인트) 님이 2021년 2월 15일 답변
상쾌한님이 2021년 2월 16일 채택됨
감사합니다. ^^ 아이템뷰 자체를 DB에 저장해야 하는줄로 알았는데, 아이템 뷰 안에 들어갈 내용들만 저장하면 되는거였군요.
...