【发布时间】:2020-08-11 08:04:32
【问题描述】:
我制作了一个新的模型应用程序(ManualRecyclerView)来测试如何获取数据Firebase Realtime Database in RecyclerView - GridView。
所以我注入了依赖项并将应用程序连接到 Firebase。
我设置了适配器的基本 UI 和代码。
但是!一旦我对其进行测试并输入数据,数据就会转到另一个 Firebase 数据库(Sweet Dreams)。这是我正在处理的另一个项目的数据库。
困扰我的是,我已经更正了.json文件
.json 文件
{
"project_info": {
"project_number": "493876747245",
"firebase_url": "https://manualrecyclerview.firebaseio.com",
"project_id": "manualrecyclerview",
"storage_bucket": "manualrecyclerview.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:493876747245:android:aece709f70cbe8d86ce5e4",
"android_client_info": {
"package_name": "dcbrh.ph.manualrecyclerview"
}
},
"oauth_client": [
{
"client_id": "493876747245-t3ekrflfg6k4a7qirbt7fqe065grm6pr.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyDJItnNjZ72-ZDVUXzpR_nK7ea6d31vcUY"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "493876747245-t3ekrflfg6k4a7qirbt7fqe065grm6pr.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}
主要活动
package dcbrh.ph.manualrecyclerview
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.Toast
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.database.FirebaseDatabase
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
recyclerView_main.adapter = MainAdapter()
button_storeMovie_main.setOnClickListener {
Log.d("MainActivity", "Storing data in FirebaseDatabase")
Toast.makeText(this, "Storing data...", Toast.LENGTH_SHORT).show()
storeMovieInFirebaseDatabase()
}
}
private fun storeMovieInFirebaseDatabase() {
val uid = FirebaseAuth.getInstance().uid.toString()
val title = editText_inputTitle_main.text.toString()
val price = editText_inputPrice_main.text.toString()
val movieData = Movie(title, price)
FirebaseDatabase.getInstance().getReference("movies/$uid/").setValue(movieData)
.addOnSuccessListener {
Log.d("MainActivity", "Data stored successfully | UID = $uid")
Toast.makeText(this, "Data stored successfully", Toast.LENGTH_SHORT).show()
return@addOnSuccessListener
}
.addOnFailureListener{
Log.d("MainActivity", "Data failed to store")
Toast.makeText(this, "Data failed to store", Toast.LENGTH_SHORT).show()
return@addOnFailureListener
}
}
}
class Movie(val name: String, val price: String) {
constructor(): this("", "")
}
主适配器
package dcbrh.ph.manualrecyclerview
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.card_view_layout.view.*
class MainAdapter: RecyclerView.Adapter<CustomViewHolder>() {
val productTitles = listOf("The Bird Box", "Extraction", "Bad Boys", "300 Spartans", "Project X")
override fun getItemCount(): Int {
return productTitles.size
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {
val layoutInflater = LayoutInflater.from(parent.context)
val cellGrid = layoutInflater.inflate(R.layout.card_view_layout, parent, false)
return CustomViewHolder(cellGrid)
}
override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {
val productTitles = productTitles.get(position)
holder.sight.apply {
cardView_textView_title.text = productTitles
cardView_textView_price.text = "Php20.00"
}
}
}
class CustomViewHolder(val sight: View): RecyclerView.ViewHolder(sight) {
}
甜梦数据库 database
没有被发送到 ManualRecyclerView 数据库。
【问题讨论】:
-
你的问题肯定和配置有关。
-
知道如何解决这个问题吗?
-
检查.json文件是否正确。
-
我已经检查了.json文件,甚至再次下载了它但没有效果
标签: android firebase kotlin firebase-realtime-database android-recyclerview