首页 > 解决方案 > 无法在 Android 上使用 Cloud Firestore 保存文档

问题描述

我正在尝试按照 cloud firestore 上的文档将文档保存在集合中。我可以阅读我在 firebase 控制台上手动创建的集合/文档,但尝试从我的 Android 应用程序存储时不起作用。

控制台/Logcat 没有显示任何错误,并且应用程序没有崩溃。两个听众都没有被叫到。我错过了什么吗?

class UserActivity : AppCompatActivity() {
    private val db = FirebaseFirestore.getInstance()
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_profile)
        save_button.setOnClickListener { storeUser() }
    }

    private fun storeUser(){
        val user = HashMap<String,Any>()
        user.put("first", "Ada")
        user.put("last", "Lovelace")
        user.put("born", 1815)

        db.collection("users")
                .add(user)
                .addOnSuccessListener(OnSuccessListener<DocumentReference> { documentReference -> Log.d("Storing User", "DocumentSnapshot added with ID: " + documentReference.id) })
                .addOnFailureListener(OnFailureListener { e -> Log.w("Storing User", "Error adding document", e) })
    }
}

编辑:

作为尝试读取文档的更新会引发以下异常

com.google.firebase.firestore.FirebaseFirestoreException:由于客户端离线,无法获取文档。

标签: androidfirebasekotlingoogle-cloud-firestore

解决方案


看来我需要将以下权限添加到AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

但我觉得这很奇怪,因为没有它我可以使用 firebase auth 方法登录。


推荐阅读