1

我正在构建一个程序,该程序与运行自己的内部 Web 服务器的设备交互。我通过 Web API 与设备通信。

基本上会发生一个 GUI 呈现给用户,用户可以在其中对设备进行某些修改。这些更改将传达给设备,并通过 XML 返回结果。设备需要或多或少地不断地与后台程序对话(比如每 15 秒左右)以向用户更新某些值。

我设想的结构是这样的:

UI - 主要 - 网络 - XML 解析器。

我正在寻找有关如何管理这些的建议。我理解 UI 线程应该是独立的,以便为用户提供流畅的体验。我也明白网络至少应该是一个异步任务。我不太确定如何处理他们的互动,并确保事情顺利有效地进行。

我的想法是 Main 将处理传递数据,告诉网络器发送特定的消息或更改,将返回的 XML 传递给解析器,然后将解析的值传递给 UI 进行处理。

我很好奇除此之外的建议。

4

2 回答 2

2

看看创建一个使用您的Activity. 在不知道您的计划细节的情况下,aService看起来像是执行所有繁重工作的最佳解决方案。

更新:

您可以在服务中运行对 Web API 的调用,并在需要时通过接口更新 UI。您必须指示服务在自己的线程上运行,因此线程安全是一个问题,但从长远来看,比使用AsyncTask.

于 2012-06-13T16:01:40.643 回答
0

Have a thought about using Google C2DM.

In your case,

Pros -> Less battery use, coordinated network traffic, Don't have to run a continues service and doesn't have the potential of being killed when the device runs out of resources.

Cons -> You have to post the results manually back to your internal server, and server should know which request the device is replying to. Communication is disconnected and may not be real-time. Requires a google account on the device and Google market.

于 2012-06-14T04:07:51.420 回答