【问题标题】:Android background service: CPU and network usage doubtsAndroid后台服务:CPU和网络使用疑惑
【发布时间】:2017-03-07 23:38:29
【问题描述】:

我正在开发一个自定义聊天应用程序。

使用简单的 POST 将发送的消息存储在我的服务器上。

后台运行的服务负责每隔 5 秒使用另一个 POST 检查当前用户是否有新消息并向他/她发送通知。

我有点担心网络和 CPU 的使用,因为我知道互联网连接整天都在使用。

我使用这种方法是因为我需要在向接收者发送通知之前处理我的服务器代码上的一些数据。

一个例子是我有一些用户被分配为管理员。用户用户名是他们的电子邮件。当其中一位管理员发送消息时,我会在将通知发送给接收者之前用应用程序名称覆盖他们的用户名(因此他们的电子邮件)。

这是创建自定义聊天应用程序的最佳方法吗?

【问题讨论】:

  • 每次他们发送消息时,您都在用用户名重写他们的电子邮件?为什么需要在服务器端而不是应用端制作?
  • 是的,我做到了。仅仅是因为有人可以反编译它并改变这种行为。神奇地能够向所有社区发送消息......

标签: android networking service cpu-usage


【解决方案1】:

不知道您使用此用例的确切原因,但 Firebase 提供了非常简单的解决方案。

您可以阅读有关 here 的信息。基本上你必须:

  1. 创建一些布局
  2. 在“发送消息”点击时添加监听器,这会将消息添加到 Firebase 实时数据库
  3. 创建FirebaseListAdapter,它将向用户显示消息

来自database docs

您的所有客户端共享一个实时数据库实例,并且 自动接收最新数据的更新。

据我了解,如果有消息等待,您不必每 5 秒检查一次。 Firebase 会为您处理。

【讨论】:

  • 基本上我有几个管理员用户。当他们发送聊天消息时,我会在我的服务器 php 代码中使用硬编码名称覆盖他们的详细信息。使用 firebase 我无法控制此类数据。你有什么想法可以推荐给我吗?
猜你喜欢
  • 2020-04-28
  • 2021-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多