FirebaseFlowExample Firebase Firestore与Kotlin Coroutines Flow结合示例
Firebase 的 Firestore 加上 Kotlin Coroutines 的 Flow,组合起来其实挺香的,尤其是在异步数据流这块。addSnapshotListener
,数据一变 UI 马上更新,响应也快。
Flow 的好处你早就听说过:声明式写法、支持背压、可以链式操作(.map()
、.filter()
这些都能用上)。这个项目还演示了怎么在 Activity 或 Fragment 生命周期里优雅地用 Flow 收集数据,不用担心内存泄漏。
FireStore 本身的特性也适合搞实时 UI,比如聊天、评论、动态列表这些。它的文档结构也灵活,用起来就像操作一个 JSON 对象。再加上离线缓存支持,就算没网也能读写,挺适合做一些对用户体验要求高的 App。
项目里还有一个小亮点,就是如何把 Firestore 的文档快照转成你 App 里用的数据模型,比如转成User
或者Post
这种自定义类,Flow 中直接,代码也清爽。
如果你打算用 Kotlin 写 Android,又跟 Firebase 打交道,推荐你撸一遍这个项目。熟悉之后你会发现,异步数据没那么难,写起来还挺优雅。
FirebaseFlowExample-master.zip
预估大小:40个文件
FirebaseFlowExample-master
文件夹
gradlew
5KB
settings.gradle
56B
gradle
文件夹
wrapper
文件夹
gradle-wrapper.properties
232B
gradle-wrapper.jar
53KB
README.md
286B
gradlew.bat
2KB
gradle.properties
1KB
...
147.59KB
文件大小:
评论区