当前位置: 首页 > 面试题库 >

如何保持FirebaseDatabase连接始终在线?至少几个小时[关闭]

张亦
2023-03-14
问题内容

某些机构可以帮助我保持Firebase数据库连接始终在线吗?我一直在从事类似于UBER应用程序的项目。我只想让客户即使在后台运行应用程序时也能看到驱动程序。为此,我必须保持Firebase数据库与驱动程序应用程序的连接,即FirebaseDatabase.getInstance()。goOnline()。总是!至少几个小时。故事就像有两个应用程序,我们可以在地图片段上看到彼此的位置,我只想做一个假设,如果第一个应用程序在后台工作,即使第二个应用程序也应该能够看到该位置(第一个标记)的第一个。就我而言,它仅持续几分钟。我已经进行了很多研究,并且了解了可在后台运行的Services,但我的疑问是Services如何使我的应用程序Activity连接到FirebaseDatabase。就像是,如果服务正在运行并与数据库连接,那么我的应用程序活动也已连接?即FirebaseDatabase.getInstance()。goOnline()==
true ??

需要一些代码和帮助!请!!


问题答案:

如果您的应用程序长期处于后台状态,则需要知道Android(操作系统)可能会杀死您的应用程序进程,而转向更重要的应用程序。当在前台不再可见时,Android可能还会阻止您的进程联网。这是正常的行为,因为一般的兴趣是防止行为不良的应用程序消耗过多的资源。

如果您的应用在用户不再使用时需要继续联网,则必须启动foreground service,这还要求您向用户显示一条通知,向用户指示您的应用仍在运行。这样做是因为用户应该意识到该应用程序将消耗比预期更多的资源。



 类似资料:
  • 问题内容: 我如何避免滚动页面的其余部分?我考虑过使用和,只是想知道是否有更简单,更用户友好的方法,这样做的最佳实践是什么? 问题答案: 使用的包含您的头,喜欢的东西 在此示例中,当开始时位于下方100px处,但随着用户滚动,它保持原位。当然,不用说,您需要确保有背景,以便当两个s重叠时,其内容实际上是可见的。

  • 我有4条线。每个人每x秒打印给定的字母x次。任务是一次启动3个线程,在至少一个前一个线程完成时启动第四个线程。我不知道如何通知最后一个线程在适当的时间运行。

  • 我明白终结器是不好用的,即使用于连接关闭(是否在finalize最佳实践中关闭连接?),因为它们不能保证被调用。但是如果您的连接是通过连接池进行池化的呢?在我的例子中,我使用Apache Commons pool(http://Commons.Apache.org/proper/commons-pool/)来池化SFTP连接。我不能使用try-with-resources技术,因为每个连接不应该在

  • 我在android中保持套接字连接有麻烦。 我在应用程序中使用Socket.IO客户端java库。 屏幕打开时保持插座连接。 但是,如果屏幕关闭,套接字会因ping超时而断开连接。 我该如何解决这个问题? 我像这样打开连接。 这是我的服务器端代码 ping间隔为25秒,超时为60秒。 当android屏幕关闭时,客户端不适用于。其他事件正常工作。 服务器与日志断开连接(ping超时)。

  • 我想一直保持横向模式。我在Nexus7上将屏幕锁定为纵向模式,在AndroidManifest中设置android:screenOrientation=“Sensor横向”和android:configChanges=“orientation | keyboardHidden”。xml,当我转到其他活动并返回到此活动时,屏幕将再次旋转纵向和横向(没有再次调用onCreate方法),但我不想在任何情

  • 我想四舍五入任何双到一个字符串2小数位在Java。我尝试过使用十进制格式,但它没有给出预期的结果。任何帮助将不胜感激。 Ex: I/P:3402100.5323 我想将其转换为: O/P: 34.02 我尝试过使用DecimalFormat(“###,##,##,###0.00”,新的DecimalFormatSymbols(Locale.US))但结果是340210.53,而我希望它输出34.0