GVKun编程网logo

Firebase Firestore 分页最佳实践/优化与否?(分页pagehelper)

14

在本文中,我们将为您详细介绍FirebaseFirestore分页最佳实践/优化与否?的相关知识,并且为您解答关于分页pagehelper的疑问,此外,我们还会提供一些关于AndroidFirebas

在本文中,我们将为您详细介绍Firebase Firestore 分页最佳实践/优化与否?的相关知识,并且为您解答关于分页pagehelper的疑问,此外,我们还会提供一些关于Android Firebase 身份验证、Cloud Firestore、Firebase 存储、注册个人资料图片用例的最佳实践?、android – Firebase Firestore – 或查询、android – 无法解决:com.google.firebase:firebase-firestore:11.4.2 [复制]、Firebase - 免费层中的 Firestore 集合组索引的有用信息。

本文目录一览:

Firebase Firestore 分页最佳实践/优化与否?(分页pagehelper)

Firebase Firestore 分页最佳实践/优化与否?(分页pagehelper)

考虑到免费套餐的每日限制(50k),分页很重要

这是关于使用 startAt() 和 endAt() 的好读物 https://firebase.google.com/docs/firestore/query-data/query-cursors

另一个很好的资源是这个视频:https://fireship.io/lessons/firestore-pagination-guide/

Android Firebase 身份验证、Cloud Firestore、Firebase 存储、注册个人资料图片用例的最佳实践?

Android Firebase 身份验证、Cloud Firestore、Firebase 存储、注册个人资料图片用例的最佳实践?

如何解决Android Firebase 身份验证、Cloud Firestore、Firebase 存储、注册个人资料图片用例的最佳实践??

Android 上的基本用户登录/注册场景,使用 viewmodel 处理 LiveData。我使用 Firebase Auth 进行身份验证,使用 Cloud Firestore 用于 Cloud DB 和 Firebase Storage 用于存储图像。假设在注册期间用户提供了个人资料图片,我带来的工作流程是:(注册)

  • firebaseAuth.createuserWithEmailAndPassword()
  • 将图片保存到存储并获取下载地址
  • 将用户数据放入 Cloud Firestore 数据库(以图片 url 作为字段)
  • 更新 firebase 用户的 photoUrl 字段
  • 使用登录用户更新 viewmodel

这些任务按此特定顺序依次执行,以实现对数据库的持久性。 一个任务(第一个任务除外)仅在前一个任务成功完成(使用 OnSuccessListener)后运行,如果其中任何一个任务失败,则删除 firebase 用户,并且 viewmodel 更新错误。 这个实现的问题是非常慢,因为每个任务都需要等待前一个任务完成,这会减慢注册实体的过程,但我认为这是必要的,以避免非持久性数据(例如,图像可能未加载但用户保存在云 Firestore 中,然后 viewmodel 更新,但没有图像导致空指针异常 ecc...)。所以我要问的是:有更好的方法来处理这个问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

android – Firebase Firestore – 或查询

android – Firebase Firestore – 或查询

如何通过一个字段的多个值获取数据?例如,我有包含帖子的数据库,我想查询blogId为1或2的所有帖子,按时间戳排序.

collection("posts").whereEqualTo("blogId","1")
.whereEqualTo("blogId",2).orderBy("timestamp",Query.Direction.DESCENDING).limit(50)

上面的代码不起作用:(

怎么做到这一点?
问候 :)

解决方法

我找不到任何有关OR条件的OR的能力的文档.但您可以在blogId上重写您的要求,如下所示:

WHERE blogId > 0 AND blogId < 3

试试这段代码:

collection("posts")
.where("blogId",">","0")
.where("blogId","<","3")
.orderBy("timestamp",Query.Direction.DESCENDING)
.limit(50)

android – 无法解决:com.google.firebase:firebase-firestore:11.4.2 [复制]

android – 无法解决:com.google.firebase:firebase-firestore:11.4.2 [复制]

参见英文答案 > Failed to resolve com.google.android.gms play-services-auth:11.4.0                                    12个
我正在尝试在已经使用Firebase功能的项目中实现新的Firestore数据库,包括实时数据库 – 我想要“升级”.

我正在按照this指南工作,但我在编译Firestore库时遇到困难.

这是我目前的项目gradle:

buildscript {
    repositories {
        jcenter()

        maven {
            url 'https://maven.google.com'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        classpath 'com.google.gms:google-services:3.1.0'


    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

这是我当前的应用程序gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsversion "25.0.2"
    defaultConfig {
        applicationId "com.tal.wikirace"
        minSdkVersion 23
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

configurations {
    compile.exclude group: "org.apache.httpcomponents", module: "httpclient"
}

dependencies {
    compile filetree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })


    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.google.api-client:google-api-client:1.22.0'
    compile'com.google.api-client:google-api-client-android:1.22.0'
    compile  'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.volley:volley:1.0.0'
    compile 'com.google.code.gson:gson:2.7'
    compile 'com.google.code.findbugs:jsr305:2.0.1'
    compile 'com.google.http-client:google-http-client:1.18.0-rc'
    compile 'com.android.support:design:25.3.1'

    compile 'com.google.android.gms:play-services-auth:11.4.2'
    compile 'com.google.firebase:firebase-auth:11.4.2'
    compile 'com.google.firebase:firebase-database:11.4.2'
    compile 'com.google.firebase:firebase-messaging:11.4.2'
}
apply plugin: 'com.google.gms.google-services'

该项目工作正常,但当我尝试添加此行:

compile 'com.google.firebase:firebase-firestore:11.4.2'

我收到这条消息:

Failed To Resolve: com.google.firebase:firebase-firestore:11.4.2

我更新了Android SDK Build-Tools,Google Play服务和支持存储库,但它没有帮助.

我怎样才能解决这个问题?

解决方法:

你错过了allprojects块中的google maven repo:

allprojects {
    repositories {
        jcenter()
         maven {
            url 'https://maven.google.com'
        }
    }
}

如果您使用的是Gradle 4.1或更高版本,则可以简化它:

allprojects {
    repositories {
        jcenter()
        google()
    }
}

allprojects存储库是用于查找应用程序模块的内容.在buildscript中,它仅为gradle插件定位模块.

此外,您应确保所有Firebase模块具有相同的版本.

Firebase - 免费层中的 Firestore 集合组索引

Firebase - 免费层中的 Firestore 集合组索引

对于未来的读者,根据文档,free quota 包括:

  • Stored data 1 GiB。
  • Document reads 每天 50,000。
  • Document writes 每天 20,000。
  • Document deletes 每天 20,000。
  • Network egress 每月 10 GiB。

正如 OP 所说,当您在 google 上登录多个帐户时要小心,并确保使用正确的帐户才能使用 Firestore 服务。

今天的关于Firebase Firestore 分页最佳实践/优化与否?分页pagehelper的分享已经结束,谢谢您的关注,如果想了解更多关于Android Firebase 身份验证、Cloud Firestore、Firebase 存储、注册个人资料图片用例的最佳实践?、android – Firebase Firestore – 或查询、android – 无法解决:com.google.firebase:firebase-firestore:11.4.2 [复制]、Firebase - 免费层中的 Firestore 集合组索引的相关知识,请在本站进行查询。

本文标签: