这只是音乐的简单应用。在SearchActivity
中搜索时,我希望搜索并列出作曲家的姓名和歌曲名称。这是我在Firebase中的实时数据库。
- Artists
- 1
- image : "Maroon 5's image"
- name : "Maroon 5"
- 2
- image : "Ruel's image_2"
- name : "Ruel"
...
- Songs
- 1
- album : "Speak Your Mind (Deluxe)"
- image : "album's image"
- name : "Anne-Marie"
- title : "2002"
- url : "song's url"
- 2
- album : "On My Way"
- image : "album's image"
- name : "Alan Walker & Sabrina Carpenter & Farruko"
- title : "On My Way"
- url : "song's url"
...
我试图在android studio中访问这两个数据库,但是ArrayList(= array)中的数据结果始终为空。这是单击按钮SEARCH时在SearchActivity
中我的kotlin代码。
FirebaseDatabase.getInstance().getReference("Artists").addListenerForSingleValueEvent(object : ValueEventListener { override fun onCancelled(p0: DatabaseError) { } override fun onDataChange(p0: DataSnapshot) { for (artist in p0.children) { val model = artist.getValue(Artist::class.java) model?.let { array.add(Model(it)) } } } }) FirebaseDatabase.getInstance().getRefernce("Songs").addListenerForSingleValueEvent(object : ValueEventListner { override fun onCancelled(p0: DatabaseError) { } override fun onDataChanged(p0: DataSnapshot) { for (song for p0.children) { val model = song.getValue(Song::class.java) model?.let { array.add(Model(it)) } } } }) adapter = SearchAdapter(this@SearchActivity, array) recyclerView.adapter = adpater
是否可以访问两个数据库并获得不带空值的数组值?我知道
onDatachanged()
发生晚了,但是是否可以将值放入数组中,然后再放入适配器中?如果您用Java或Kotlin告诉我,我将不胜感激。
这只是音乐的简单应用。在SearchActivity中搜索时,我希望搜索作曲家的姓名和歌曲名称并一起列出。这是我在Firebase中的实时数据库。 -...
哦!对不起;我有解决办法。解决方法是只添加adapter.notifyDataSetChange()```` in all
onDataChange()`方法。这样,我可以从firebase中的两个数据库中获取数据。谢谢您的所有评论!