로그문제
304
작성한 질문수 2
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
답변 3
0
1. 북마크 텝 만들기 1 (8분 10초 쯤 ..)
2.package com.example.mysolelife.fragments
import android.os.Bundle
import android.provider.ContactsContract
import android.util.Log
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.databinding.DataBindingUtil
import androidx.navigation.findNavController
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.mysolelife.R
import com.example.mysolelife.contentsList.BookmarkRVAdapter
import com.example.mysolelife.contentsList.ContentModel
import com.example.mysolelife.databinding.FragmentBookmarkBinding
import com.example.mysolelife.utils.FBAuth
import com.example.mysolelife.utils.FBRef
import com.google.firebase.database.DataSnapshot
import com.google.firebase.database.DatabaseError
import com.google.firebase.database.ValueEventListener
class BookmarkFragment : Fragment() {
private lateinit var binding : FragmentBookmarkBinding
private val TAG = BookmarkFragment::class.java.simpleName
val bookmarkIdList = mutableListOf<String>()
val items = ArrayList<ContentModel>()
val itemKeyList = ArrayList<String>()
lateinit var rvAdapter : BookmarkRVAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
binding = DataBindingUtil.inflate(inflater,R.layout.fragment_bookmark,container,false)
//1. 전체 카테고리에 있는 컨텐츠 데이터들을 다 가져옴
getCategoryData()
//2. 사용자가 북마크 한 정보를 다 가져옴
getBookmarkData()
//3. 전체 컨텐츠 중에서, 사용자가 북마크한 정보만 보여줌
rvAdapter = BookmarkRVAdapter(requireContext(),items,itemKeyList,bookmarkIdList)
val rv : RecyclerView = binding.bookmarkRV
rv.adapter = rvAdapter
rv.layoutManager = GridLayoutManager(requireContext(),2)
binding.homeTap.setOnClickListener{ //홈텝 클릭시 어떻게 하겠다 ~
it.findNavController().navigate(R.id.action_bookmarkFragment_to_homeFragment)
}
binding.talkTap.setOnClickListener{
it.findNavController().navigate(R.id.action_bookmarkFragment_to_talkFragment)
}
binding.tipTap.setOnClickListener{
it.findNavController().navigate(R.id.action_bookmarkFragment_to_tipFragment)
}
binding.storeTap.setOnClickListener{
it.findNavController().navigate(R.id.action_bookmarkFragment_to_storeFragment)
}
return binding.root
}
private fun getCategoryData(){
val postListener = object : ValueEventListener { //컨텐츠 아이디 값을 받아오고 있음 firebase에 컨텐츠들을 저장
override fun onDataChange(dataSnapshot: DataSnapshot) {
for (DataModel in dataSnapshot.children){
Log.d(TAG,DataModel.toString())
val item = DataModel.getValue(ContentModel::class.java)
items.add(item!!)
itemKeyList.add(DataModel.key.toString())
}
rvAdapter.notifyDataSetChanged()
}
override fun onCancelled(databaseError: DatabaseError) {
// Getting Post failed, log a message
Log.w("ContentListActivity", "loadPost:onCancelled", databaseError.toException())
}
}
FBRef.category1.addValueEventListener(postListener)
FBRef.category2.addValueEventListener(postListener)
}
private fun getBookmarkData(){
val postListener = object : ValueEventListener { //컨텐츠 아이디 값을 받아오고 있음 firebase에 컨텐츠들을 저장
override fun onDataChange(dataSnapshot: DataSnapshot) {
for (DataModel in dataSnapshot.children){
Log.e(TAG,DataModel.toString())
bookmarkIdList.add(DataModel.key.toString())
}
}
override fun onCancelled(databaseError: DatabaseError) {
// Getting Post failed, log a message
Log.w("ContentListActivity", "loadPost:onCancelled", databaseError.toException())
}
}
FBRef.bookmarkRef.child(FBAuth.getUid()).addValueEventListener(postListener) //FBRef 에 있는 북마크 Ref 값을 가져옴
}
}
3. 에러발생
8분쯤에 나오는 화면처럼 키값이 무엇이고 벨류 값은 무엇이다 라고 나오는걸 볼 수 있는데 제가 실행하면 아래 사진처럼 "북마크 true" 만 뜨네요 ..

0
아래의 정보를 기입해주시면 도움드릴 수 있을 것 같아요~
Q. 질문은 어떻게 하면 좋을까요?
강의 질문/답변을 남겨주세요. 질문을 주실 때 최대한 많은 정보를 알려주시면 좋습니다. 아래 정보를 모두 주시면 문제를 파악하기 좋습니다 :)
- 시청 중인 강의의 부분 (수업 제목 및 타임코드)
2. 내가 작성한 코드
3. 에러가 나온다면, 어떻게 나오는지 (에러 내용)
4. Firebase에 어떤 데이터가 들어있는지
이미지가 기본이미지인지 확인
0
142
1
NavController error 발생
0
154
1
fragment 생성하고 메인에서 불러왔는데 안뜹니다.
0
149
2
67강 댓글
0
113
2
7강 데이터바인딩 에러
0
129
2
Firebase 스토리지 유료화 문제
1
304
2
게시글 이미지가 파이어베이스에 저장되지 않습니다.
0
190
2
AVD 갤러리에 이미지 저장 안되는 문제
0
255
2
이미지 받아오는 방법?
0
211
2
회원탈퇴 기능을 추가하려고 합니다.
0
196
2
상태바 질문 드립니다.
0
119
1
섹션2 인트로 페이지 꾸미기 질문 드립니다.
0
121
1
게시판 글을 길게 쓸경우
0
129
2
로그인 로그아웃
0
185
2
갤럭시 연결시 게시판에 업로드한 사진이 보이지 않아요.
0
220
2
웹뷰 AVD 실행안됨
0
198
1
자막켜기가 안되요 ㅜ.ㅜ
1
195
1
리사이클러뷰, 그리드레이아웃 오류
0
192
2
리사이클러뷰 오류 해결 방법이 궁금합니다.
0
200
1
firebase 스마트폰으로 연결이 안되는데 원인이 있을까요
0
266
2
안드로이드 스튜디오 게시글 이미지 업로드 유무
0
227
1
firebase 설정 오류
0
309
2
홈 화면 커뮤니티
0
180
1
게시판 글 읽기
0
244
2






