You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Kotlin:EditText数据无法添加至Firestore问题求助

Firestore数据添加失败问题排查与修复

核心问题:Firestore实例未初始化

你的代码中仅声明了private lateinit var db: FirebaseFirestore,但未对该变量进行初始化,这是导致数据添加操作触发失败回调的直接原因。

修复代码

在onCreate方法中添加Firestore实例初始化代码:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)
    
    // 初始化Firestore实例(关键缺失代码)
    db = FirebaseFirestore.getInstance()
    
    editTextName = binding.nameEdtTxt
    editTextNumber = binding.numberEdtTxt

    // 后续点击事件代码保持不变...
}

其他排查方向(若初始化后仍失败)

  • 检查Firebase配置文件:确认google-services.json已正确放置在app模块根目录,且配置信息与你的Firebase项目完全匹配。
  • 调整Firestore安全规则:默认规则在非认证状态下会限制写入,测试阶段可临时设置为开放规则(上线前务必修改为安全规则):
    rules_version = '2';
    service cloud.firestore {
      match /databases/{database}/documents {
        match /{document=**} {
          allow read, write: if true;
        }
      }
    }
    
  • 验证依赖完整性:确保app级build.gradle中已添加Firestore相关依赖:
    implementation 'com.google.firebase:firebase-firestore-ktx:24.10.0'
    implementation 'com.google.firebase:firebase-core-ktx:21.1.1'
    
  • 打印具体错误信息:修改失败回调,输出异常详情以便精准定位问题:
    .addOnFailureListener { exception ->
        Toast.makeText(this, "失败原因: ${exception.message}", Toast.LENGTH_LONG).show()
        Log.e("FirestoreError", "数据添加失败", exception)
    }
    

内容的提问来源于stack exchange,提问作者GHULAM JILANI JANJUA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 17:25:22