为什么我的应用程序将其数据发送到另一个Firebase实时数据库

问题描述

我制作了一个新的模型应用程序( ManualRecyclerView ),以测试如何在RecyclerView-GridView中获取数据 Firebase实时数据库

因此,我注入了依赖性并将应用程序连接到Firebase。

我为适配器设置了基本的用户界面和代码。

但是!一旦测试并输入数据,数据就会转到另一个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

Sweet Dreams数据库 database

没有人被发送到ManualRecyclerView数据库。

解决方法

如果我理解正确,则似乎您在两个Android Studio项目中都使用了相同的Firebase项目。因此,请仔细检查您的Firebase项目结构

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...