在Java中的类之间进行交谈?

时间:2013-01-25 12:14:08

标签: java android class static

我正在为Android应用程序创建UDP消息传递系统。 为此,我创建了一个单独的类,包括发送,接收,解析线程。 班级必须只有一个 - 即。只有一个UDP服务器!

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

因此:

  1. 如果我不需要超过1个对象,我是否需要实例化?
  2. 让课堂上的所有东西都静止不是一个好的选择吗?
  3. 在某些时候,我需要反过来说话(obj-> main)。我应该使用回调还是仅将必要的资源从主要内容传递到CI并在CI中使用它们做什么?
  4. 我希望我能够清楚地描述这个问题。如果有任何问题,请问我。

3 个答案:

答案 0 :(得分:2)

将其存储在Application Context(单例)中。 或者在Service中进行连接,并让每个Activity根据需要检索数据。

答案 1 :(得分:0)

似乎你的不同类需要一个或者正式的实例依赖于UDP Cl。为解决这个问题,我们有两个选择 -

  • 使用依赖注入框架,例如guice自动在不同的类中注入此类依赖项
  • 旧学校方式 - 为UDP Cl创建singleton,所有需要UDP Cl的课程都可以执行类似UDBCl.getInstance()的操作来获取UDP Cl的实例

我个人更喜欢方法1,因为这是单元测试友好的。方法2将更快地解决您的问题

答案 2 :(得分:0)

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