Cloud Firestore是一个自动扩展的实时文档数据库,用于存储,同步和查询用于移动,Web和服务器开发的数据。
每次我从 Firebase 中的模拟数据切换到真实数据时,我的应用程序都会崩溃。 (https://i.sstatic.net/7UYBbfeK.png) 一旦我更改这 3 行代码,我的应用程序就会崩溃 主要代码 导入斯威夫特...
‘“默认 FirebaseApp 未能初始化,因为未找到默认选项”错误以及 Unity 中 Admob 和 Firestore 之间的冲突
当我安装 Admob 和 Firestore 软件包时,我在 com.google.android.gms:play-services-
Cloud Firestore (24.10.0) 中的内部错误 - android.database.CursorWindowAllocationException:光标窗口分配
我的应用程序已经发布两年了,我只是无法理解这个错误消息,虽然我很少收到该错误消息,但从发布的第一天起就一直收到。 它说:“内部错误&...
如何在Firebase实时数据库中获取“序列”或类似结构的计数器
我正在从 sql 数据库迁移到 nosql 数据库,作为其中的一部分,我正在开发一个 flutter 项目,在该项目中我正在实现如下所示的序列结构。 静态 Future 获取 nextId 异步 {
使用 laravel 的 firebase firestore 数据库重置连接错误
我正在遵循本指南:https://medium.com/@moizali1011/mastering-firestore-crud-operations-in-laravel-a-compressive-guide-1e4f2f7bb28f。 我安装了所有与之相关的软件包,包括...
Firestore 云功能 - 每次将文档添加到不同集合(而不是“用户”)时,我可以向用户发送电子邮件吗?
我对云功能非常陌生,但已经设置了几个 Firestore 云功能,并让它们在创建或更新用户文档时向个人发送电子邮件,但我真的...
我的代码有什么问题吗?该按钮预计将从用户的特定汽车集合以及全局汽车集合中删除汽车数据。 尾随:图标按钮( ...
尝试 Firestore REST API,文档指出要对项目进行排序 ?orderBy=name%20desc 此命令使用文档名称按降序排列。我需要订购的文件有以下...
MissingPluginException(在通道plugins.flutter.io/firebase_core 上找不到方法 Firebase#initializeCore 的实现)
我正在使用 Firebase 身份验证构建一个 flutter 应用程序。当我在 Android 模拟器或 Android 手机上使用 flutter run 进行测试时,应用程序运行得很好,没有出现重大错误。 问题发生在...
我可以写入我的 Firebase Firestore 数据库,但无法从中读取(使用 Java 的 Android Studio)
我正在尝试将我的 Android 应用程序连接到我的 Firestore 数据库。我可以从我的应用程序写入数据库,但无法从中读取。 Android 清单: 我正在尝试将我的 Android 应用程序连接到我的 Firestore 数据库。我可以从我的应用程序写入数据库,但无法从中读取。 Android 清单: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Cerebrospinal" tools:targetApi="31"> <activity android:name=".SudokuActivity" android:exported="false" /> <activity android:name=".Activity2048" android:exported="false" /> <activity android:name=".WordleActivity" android:exported="false" /> <activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 应用程序级别build.gradle plugins { alias(libs.plugins.android.application) id("com.google.gms.google-services") } android { namespace = "com.example.cerebrospinal" compileSdk = 34 defaultConfig { applicationId = "com.example.cerebrospinal" minSdk = 24 targetSdk = 34 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } } dependencies { implementation(platform("com.google.firebase:firebase-bom:33.5.1")) implementation("com.google.firebase:firebase-analytics") // Firestore implementation("com.google.firebase:firebase-firestore:25.1.1") // Other Firebase/Play services deps implementation("com.google.firebase:firebase-auth:21.0.1") implementation("com.google.android.gms:play-services-auth:21.2.0") // FirebaseUI (for authentication) implementation("com.firebaseui:firebase-ui-auth:8.0.0") implementation(libs.appcompat) implementation(libs.material) implementation(libs.activity) implementation(libs.constraintlayout) testImplementation(libs.junit) androidTestImplementation(libs.ext.junit) androidTestImplementation(libs.espresso.core) } 项目级别build.gradle: // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { alias(libs.plugins.android.application) apply false id("com.google.gms.google-services") version "4.4.2" apply false } 我用来访问数据库的测试代码: oneButton = findViewById(R.id.button1); oneButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (sudokuController.getPencilMode() && sudokuController.getSelectedRow() > 0 && sudokuController.getSelectedColumn() > 0) { sudokuController.setSelectedNumber(1); sudokuController.setBoardTile(); sudokuBoard.invalidate(); } FirebaseFirestore db = FirebaseFirestore.getInstance(); // Create a new user with a first and last name Map<String, Object> user = new HashMap<>(); user.put("first", "Ada"); user.put("last", "Lovelace"); user.put("born", 1815); // Add a new document with a generated ID db.collection("users") .add(user) .addOnSuccessListener(new OnSuccessListener<DocumentReference>() { @Override public void onSuccess(DocumentReference documentReference) { Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference.getId()); } }) .addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Log.w(TAG, "Error adding document", e); } }); // Create a new user with a first, middle, and last name user = new HashMap<>(); user.put("first", "Alan"); user.put("middle", "Mathison"); user.put("last", "Turing"); user.put("born", 1912); // Add a new document with a generated ID db.collection("users") .add(user) .addOnSuccessListener(new OnSuccessListener<DocumentReference>() { @Override public void onSuccess(DocumentReference documentReference) { Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference.getId()); } }) .addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Log.w(TAG, "Error adding document", e); } }); db.collection("users") .get() .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() { @Override public void onComplete(@NonNull Task<QuerySnapshot> task) { if (task.isSuccessful()) { for (QueryDocumentSnapshot document : task.getResult()) { Log.d(TAG, document.getId() + " => " + document.getData()); } } else { Log.w(TAG, "Error getting documents.", task.getException()); } } }); } }); 按下“oneButton”后的Logcat输出: 2024-11-14 19:37:17.284 9790-9849 ProfileInstaller com.example.cerebrospinal D Installing profile for com.example.cerebrospinal 2024-11-14 19:37:19.383 9790-9809 EGL_emulation com.example.cerebrospinal D app_time_stats: avg=304.30ms min=13.14ms max=3634.54ms count=13 2024-11-14 19:37:19.620 9790-9790 ContentValues com.example.cerebrospinal D ArTLEmYycQ7AkM3Autjg => {middle=Mathison, last=Turing, born=1912, first=Alan} 2024-11-14 19:37:19.620 9790-9790 ContentValues com.example.cerebrospinal D JUIWkKMuC3wWTimIDdmP => {last=Lovelace, born=1815, first=Ada} 2024-11-14 19:37:19.620 9790-9790 ContentValues com.example.cerebrospinal D LQ1tECj91ivvL7ZhF7i8 => {last=Lovelace, born=1815, first=Ada} 2024-11-14 19:37:19.620 9790-9790 ContentValues com.example.cerebrospinal D xAmdrpHnykJarOA4ibt0 => {middle=Mathison, last=Turing, born=1912, first=Alan} 2024-11-14 19:37:19.724 9790-9790 ContentValues com.example.cerebrospinal D DocumentSnapshot added with ID: LQ1tECj91ivvL7ZhF7i8 2024-11-14 19:37:19.756 9790-9790 ContentValues com.example.cerebrospinal D DocumentSnapshot added with ID: xAmdrpHnykJarOA4ibt0 2024-11-14 19:37:25.332 9790-9840 GoogleApiManager com.example.cerebrospinal E Failed to get service from broker. (Ask Gemini) java.lang.SecurityException: Unknown calling package name 'com.google.android.gms'. at android.os.Parcel.createExceptionOrNull(Parcel.java:3242) at android.os.Parcel.createException(Parcel.java:3226) at android.os.Parcel.readException(Parcel.java:3209) at android.os.Parcel.readException(Parcel.java:3151) at amxe.a(:com.google.android.gms@[email protected] (260800-693941914):36) at amvl.z(:com.google.android.gms@[email protected] (260800-693941914):143) at amcs.run(:com.google.android.gms@[email protected] (260800-693941914):54) at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at bskq.mC(:com.google.android.gms@[email protected] (260800-693941914):1) at bskq.dispatchMessage(:com.google.android.gms@[email protected] (260800-693941914):5) at android.os.Looper.loopOnce(Looper.java:232) at android.os.Looper.loop(Looper.java:317) at android.os.HandlerThread.run(HandlerThread.java:85) 2024-11-14 19:42:19.801 9790-9867 TrafficStats com.example.cerebrospinal D tagSocket(136) with statsTag=0xffffffff, statsUid=-1 2024-11-14 19:42:19.881 9790-9867 TrafficStats com.example.cerebrospinal D tagSocket(5) with statsTag=0xffffffff, statsUid=-1 我按照 Android 文档在我的应用程序中使用数据库,并使用他们的示例代码来测试它。我希望能够从/向我的数据库读取和写入,但无法从中读取。 我可以写入我的 Firebase Firestore 数据库,但无法从中读取。 这是正常行为,因为所有 Firebase Firestore 操作都是异步的。您想要做的是读取来自两个不同用户相加的数据,这不太可能,因为两个相加操作都需要时间。因此,当您尝试读取数据时,加法操作尚未完成,因此数据不可用,因此无法读取。解决方案总是相同的。应作为其他异步操作的结果执行的所有异步操作都需要位于 onSuccess/onComplete 方法内部或从那里调用。 因此,如果您需要读取两个用户的数据,那么您必须确保将数据添加到Firestore的两次操作都成功。您可以通过使用 自定义回调 或通过嵌套调用来实现此目的: db.collection("users").add(user).addOnSuccessListener { //Add it inside onSuccess db.collection("users").add(user).addOnSuccessListener { //Add it inside onSuccess db.collection("users").get().addOnCompleteListener{ //Your logic. } } } 因为您使用的是 Java,所以您可能会考虑实时使用可观察对象 LiveData。 如果您正在考虑在某个时间学习 Kotlin(我强烈推荐),那么您应该考虑使用 Kotlin Coroutines。这样,您将能够以更简单、更高效的方式等待操作完成。请检查以下一些资源: 如何返回 DocumentSnapShot 作为方法的结果? 如何在 Kotlin 中编写一个从 Firestore 返回字符串的方法?
Firestore onDocumentWritten 触发器未在使用节点的 Cloud Functions 中进行文档写入时触发
我正在构建一个 Firebase 项目,每当在特定 Firestore 集合中创建文档时,我都需要运行云函数。我将 Node.js 与 Firebase Admin SDK 结合使用并已设置
Genkit Retriever:在 Firestore 中运行 Genkit Retriever 之前过滤收集?
我正在 Firebase 中使用 Genkit 的检索器,旨在在应用嵌入匹配之前过滤集合。具体来说,我想过滤 uid 等于特定值的文档(例如...
“Service firestore 不可用”,代码几天前有效
我在 React Web 应用程序中使用 firebase 9.18.0 npm 包,几天前,所有 Firestore 请求开始失败,并显示“错误:服务 firestore 不可用”。 从那时起我的代码就没有改变过
Flutter 从 ListViewBuilder 中选择一个复选框
我正在从 Firestore 流式传输数据并显示 ListView.Builder。 我想为 ListTile 中的每个项目添加一个复选框。我还希望能够选择一个单独的复选框,但这就是......
使用reactJs在firestore中使用查询来调用文档内的特定字段
我正在尝试使用查询方法获取文档内的字段。但我不能,也没有收到任何错误(“可能查询响应为空”) const chatId = "6042ff11-fe94-4e65-958b-
使用 Firestore 和 Firebase 实时数据库存在处理 Flutter 多人游戏中的玩家终止
我正在 Flutter 中使用 Firestore 构建多人游戏来处理实时更新。我需要解决的情况之一是玩家完全终止应用程序。在这种情况下,Firestore 应该...
firebase firestore:“错误”:“权限缺失或不足。”
即使我已经设置了允许读取这样的数据的规则,我仍然收到此错误: 规则版本 = '2'; 服务云.firestore { 匹配 /databases/{database}/documents { ...
我正在尝试对 Firestore 集合按模式执行过滤器。例如,在我的 Firestore 数据库中,我有一个名为 adidas 的品牌。用户将有一个搜索输入,输入“adi”、“...
有没有办法让 Firestore 数据库中的一个集合直接位于另一个集合下?
我最近开始开发一个用于管理卡车/拖车/司机的网络应用程序,但我准备放弃使用 React 和 Firebase,因为我不知道如何构建我的数据库。 在
Firebase IOS SDK 中的 Firestore 文档缓存
我在文档中读到Firebase SDK会自动从缓存中删除最少使用的文档。我在预测以下情况下会发生什么时遇到问题: 在我的家...