【问题标题】:Architecture For Android Devices And Desktop Server ApplicationAndroid 设备和桌面服务器应用程序的架构
【发布时间】:2013-10-29 09:19:45
【问题描述】:

我正在设计一个应用程序,其中一台或多台设备可以控制另一台设备。中间有一个桌面服务器。

一句话:

  • 其中一个“控制器设备”通过 Activity 接收用户的命令并将其传达给服务器;
  • “受控设备”具有侦听来自服务器的命令的服务;
  • 当受控设备应答时,服务器必须通知所有“控制器设备”。

我可以使用哪个最好的模式或架构?

【问题讨论】:

  • 它看起来像“发布-订阅”,它——是的——用“观察者”模式实现

标签: android design-patterns architecture client-server


【解决方案1】:

它主要是观察者模式,但你不需要构建架构,谷歌已经为你构建了它,使用谷歌云消息传递(GCM)。

您的客户端向 gcm 注册/取消注册,然后将数据发送到您的后端/服务器,后端/服务器反过来操作并将数据发送到 gcm,gcm 进而将推送通知发送到注册设备,然后您的设备必须有一个接收器来发回数据到您的应用程序。

来看看GCM

这是一个代表 gsm 架构的示例图,请注意,您可以使用任何服务器而不是应用引擎

【讨论】:

  • 非常有帮助!我阅读了有关发送带有有效负载(4 kb)的消息的功能。在我的应用程序中,一条消息可能包含一张照片。现在是实现我的自定义观察者模式更好还是我可以适应这个 GCM?
  • 另一方面,您可以从 GCM 发送图像 url 并从设备客户端下载它,如果图像是由客户端生成的,则可以将其上传到服务器,然后服务器将其 url 发送到 GCM推送到设备
  • 是的,我想我会按照这条路走!
猜你喜欢
  • 2010-09-14
  • 1970-01-01
  • 2020-05-09
  • 1970-01-01
  • 1970-01-01
  • 2017-09-13
  • 2015-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多