안드로이드 앱만들기) 파이어베이스 데이터베이스에 해시태그 저장 관련 질문

조회수 1132회

안녕하세요~

만들고 있는 앱에 해시태그를 구현하고, 데이터베이스에 저장하는 데 막혀서 질문드립니다..ㅠ

{
  "blogs": {
    "blog1": {
      "name": "blogpost1",
      "text": "blogpost1 text"
      "tags": {
           //여러개의 태그
        "tag1": true,
        "tag2": true,
        "tag3": true
      }
}

위와 같은 structure로 파이어베이스에 태그를 저장하려고 합니다. (key:String, value:Boolean)

//태그 받아오고 분리
var tags = addphoto_tag_plants.text.toString()
var tagArray = tags.split(" ")

(중간생략)

storageRef?.putFile(photosUri!!.getItemAt(i).uri)?.continueWithTask { task: Task<UploadTask.TaskSnapshot> ->
return@continueWithTask storageRef.downloadUrl
}?.addOnSuccessListener { uri ->

//데이터 매칭
contentDTO.imageUrl = uri.toString()
contentDTO.uid = auth?.currentUser?.uid //유저의 UID

....
(중간생략)
...

//질문 부분
for (i in 0 until tagArray.size) {
    contentDTO.tag[tagArray[i]] = true
}


savepath?.set(contentDTO)
setResult(Activity.RESULT_OK)
finish()
}

(contentDTO 데이터 클래스의 tag 는 MutableMap = HashMap() )

입력된 태그가 1개이면 contentDTO.tag[tagname] = true 이런식으로 하면 되지만,

입력된 태그가 여러개일 경우 tagArray를 돌면서 0부터 i 번째까지를 key로 받아와서 contentDTO.tag에 저장해야 하는데 어떤식으로 코드를 짜야 하는걸까요..? 고수님들의 답변 기다리겠습니다....

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)