【问题标题】:Why is my App sending its data to another Firebase Realtime Database为什么我的应用程序将其数据发送到另一个 Firebase 实时数据库
【发布时间】: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) {

}

样机应用 ManualRecyclerView App

甜梦数据库 database

没有被发送到 ManualRecyclerView 数据库。

【问题讨论】:

  • 你的问题肯定和配置有关。
  • 知道如何解决这个问题吗?
  • 检查.json文件是否正确。
  • 我已经检查了.json文件,甚至再次下载了它但没有效果

标签: android firebase kotlin firebase-realtime-database android-recyclerview


【解决方案1】:

如果我理解正确,看起来您在两个 Android Studio 项目中使用的是同一个 Firebase 项目。因此,请仔细检查您的 Firebase 项目结构

【讨论】:

  • 在哪里可以看到这个结构?我对 firebase 还是有点陌生​​
  • 您可以打开 firebase 控制台并查看您现有的项目
猜你喜欢
  • 1970-01-01
  • 2014-11-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-27
  • 1970-01-01
  • 2020-12-19
  • 2022-10-13
  • 1970-01-01
相关资源
最近更新 更多