2

我正在开发一个与 Arduino 交互的 Android 应用程序。我正在尝试管理多个活动,每个活动都负责控制 Arduino 板的特定部分。

不幸的是,网络上的教程只使用一项活动。所以我不知道如何继续保持与 Arduino 的连接,同时导航到一个新的 Activity 或正确关闭它,然后在新的 Activity 上重新打开它。

任何想法?

4

2 回答 2

4

您可以使用服务连接到 Arduino 并保持该连接打开。然后,您的活动可以与服务对话,开始、停止、切换等。

编辑:如何做到这一点已经由另一个问题/答案处理:

长时间运行的 ADK 附件(服务?)

于 2012-07-12T18:23:58.637 回答
0

我以前没有在 Java 中使用过 Arduino,但您可能想要遵循单例模式。使用单例模式,您用来连接到它的任何对象都可以从多个活动和多个线程中访问。

不过,使用 Singleton 只会缓解您的问题。您仍然需要弄清楚如何关闭/重新打开它。

此外,了解活动生命周期的工作原理也很重要。如果用户接到电话,屏幕关闭,或者屏幕方向发生变化,它会破坏您的活动并重新创建它。您将不得不处理如何保存和恢复原来的位置。这很可能意味着您必须关闭/重新打开连接。

于 2012-07-12T18:05:24.150 回答