Skip to content

DB 사용

KIM SEONG GYU edited this page Jul 12, 2020 · 1 revision

사용법

savedCardRepository 인스턴스 생성 - DB 관련 작업을 해주는 클래스

  • private val savedCardRepository : SavedCardRepository by lazy { SavedCardRepository(context) }

SavedCardEntity의 프로퍼티

  • var projectIdx: Int
    • 카드가 나온 프로젝트 index
  • var roundIdx: Int
    • 카드가 나온 라운드 index
  • var isScraped: Int
    • 해당 카드는 스크랩된 카드인지 여부 (SavedCardEntity.TRUE/SavedCardEntity.FALSE 사용)
  • var bitmap: String
    • 문자열로 변환된 카드 이미지의 Bitmap
  • var memo: String?
    • 카드에 작성된 메모

Bitmap <-> String 변환 클래스

  • BitmapConverter.stringToBitmap(string)
    • String -> Bitmap
  • BitmapConverter.bitmapToString(bitmap)
    • Bitmap -> String

새로운 카드 DB에 저장

val newCardEntity = SavedCardEntity(1, 1, SavedCardEntity.FALSE, BitmapConverter.bitmapToString(bitmap), null)
savedCardRepository.insert(newCardEntyty)

저장된 카드 불러오기

  • var bitmapArray = savedCardRepository.getAllAsBitmap(projectIdx)

    • 특정 프로젝트에서 나온 카드들의 비트맵 배열을 읽어오기
  • var bitmapArray = savedCardRepository.getAllAsBitmap(projectIdx, roundIdex)

    • 특정 프로젝트, 라운드에서 나온 카드들의 비트맵 배열을 읽어오기
  • var bitmapArray = savedCardRepository.getAllScarpedCardAsBitmap(projectIdx)

    • 특정 프로젝트에서 스크랩된 카드들의 비트맵 배열을 읽어오기
  • var bitmapArray = savedCardRepository.getAllScrapedCardAsBitmap(projectIdx, roundIdx)

비트맵배열로 리사이클러뷰 구현

CardBitmapAdapter를 만들어 뒀으니 사용하면 됨

DB에서 리턴받은 List<Bitmap>cardBitmapAdapter.addAll() 하면 정상 작동