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

Android应用无法向Firebase Firestore保存数据求助

问题排查与修复方案

1. 修正任务监听逻辑

你代码里同时加了addOnSuccessListener、addOnFailureListener和addOnCompleteListener,但addOnCompleteListener会在任务结束(不管成功失败)时强制触发,直接覆盖了成功/失败的Toast提示,导致你看不到真实的执行结果。

修改监听逻辑,只保留成功和失败监听即可:

db.collection("Journal")
        .document("First Thoughts")
        .set(data)
        .addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void unused) {
                Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_LONG).show();
                Log.d(TAG, "数据保存成功");
            }
        })
        .addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Log.e(TAG, "数据保存失败: " + e.getMessage(), e);
                Toast.makeText(MainActivity.this, "保存失败: " + e.getMessage(), Toast.LENGTH_LONG).show();
            }
        });

2. 检查Firestore安全规则

默认的Firestore安全规则只允许已认证用户读写数据,如果你的应用没做用户登录,写操作会被静默拒绝(不会在客户端弹出明显错误)。

打开Firebase控制台的Firestore页面,进入「规则」标签,临时修改规则为允许所有读写(仅用于测试,上线前必须改回安全规则):

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

发布规则后重新测试数据写入。

3. 移除冗余的Firebase初始化代码

现在Firebase SDK会自动在应用启动时初始化,不需要手动调用FirebaseApp.initializeApp(this),删掉这行代码避免潜在冲突。

4. 验证视图绑定是否正确

确保布局文件activity_main.xml里的控件ID和代码里的findViewById调用完全匹配:

  • 按钮ID是save_button
  • 标题输入框ID是edit_text_title
  • 想法输入框ID是edit_text_thoughts
    如果ID不匹配,按钮点击监听根本不会触发,自然不会执行数据写入逻辑。

5. 确认依赖配置正确

检查app/build.gradle里是否正确添加了Firestore依赖:

dependencies {
    // Firebase Firestore(使用最新版本)
    implementation 'com.google.firebase:firebase-firestore:24.10.3'
    // 核心依赖
    implementation 'com.google.firebase:firebase-core:21.1.1'
}

同步Gradle后重新编译应用。


内容的提问来源于stack exchange,提问作者Tikkar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 05:42:41