从Android UI中抽象出Firebase

3

我遇到了一个问题,使用Firebase作为实时数据库时,在将其与Activity或Fragment连接时效果很好。但是尝试将其与视图元素分离并创建一些抽象来替换它(例如在测试或未来中替换),变得相当困难,特别是尝试实现MVP模式。

有没有解决此问题的方案?


你尝试过FirebaseUI库吗? - ugur
请添加一些代码示例。 - hkaraoglu
如果我想要更改实现,我将不得不重写整个代码,因为无法替换FirebaseUI。 - Nominalista
永远不要这样做。使用接口来提供数据和UI之间的连接。 - hkaraoglu
当然可以,但使用FirebaseUI会非常困难。 - Nominalista
请添加一些代码。抽象是独立于任何语言和任何平台的。你可能会错过某些东西。 - hkaraoglu
2个回答

0

Firebase 和 UI 之间不应该有内在的耦合(除非您使用 FirebaseUI)。 典型的解决方案是将 Firebase 数据库访问封装在某种 Service/DAO 类中(例如使用 Dagger 注入到 UI 类中)... 并且在该类中编写方法返回 RxJava Observable(这也很好地实现了一组嵌套的 Firebase 查询...例如,如果执行类似于“join”的操作)


-1

只需在资源中保存一个字符串值并保存您的DB路径,然后在创建DatabaseReference时使用该值指向您的真实或测试DB的基础。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接