0

我正在为 Android 应用程序创建一个 UDP 消息系统。为此,我创建了一个带有发送、接收、解析线程的单独类。该类必须仅实例化一个-即。只有一个UDP服务器!

现在,在 Android 中,您的设计中有多个活动,它们基本上是不同的类。我想使用这些不同类的 UDP 通信接口。但目前 UDP CI 在主类中实例化一次。因此我无法从不同的类访问对象。此外,CI 解析模块将不得不根据消息更改整个应用程序的设置/UI/...。

所以:

  1. 如果我不需要超过 1 个对象,我是否需要实例化?
  2. 将类中的所有内容都设为静态是一个不错的选择吗?
  3. 在某些时候,我需要反过来说(obj->main)。我应该使用回调还是只将必要的资源从 main 传递到 CI 并在 CI 中处理它们?

我希望我描述的问题足够清楚。如果有任何问题,请询问我。

4

3 回答 3

2

要么将其存储在应用程序上下文中(这是一个单例)。或者在服务中进行连接,让每个活动根据需要检索数据。

于 2013-01-25T12:19:58.053 回答
0

似乎您的不同类需要一个 Or 的实例,正式地说依赖于UDP Cl. 为了解决这个问题,我们有两个选择 -

  • 使用依赖注入框架,例如guice在不同的类中自动注入这样的依赖
  • 老派方式 -为所有需要 UDP Cl 的类创建一个单例,可以执行类似获取实例的操作UDP ClUDBCl.getInstance()UDP Cl

我个人更喜欢方法 1,因为它对单元测试很友好。方法2会更快解决你的问题

于 2013-01-25T12:22:54.490 回答
0

在第二个类中创建第一个类的实例。此外,您可以使用捆绑包在类之间传输数据。

于 2013-01-25T12:55:03.917 回答