整个Android应用程序可访问全局对象

时间:2011-08-18 14:35:05

标签: java android

我有一个使用自定义类的应用程序。启动应用程序时,我会在主活动中填充此类的实例以及它将保留的所有数据。

然后基本数据显示在ListView中,您可以从中选择ListView项目以查看另一个活动中显示的更多信息。

目前,我必须使用以下方法将与新活动相关的数据传递给它:

intent.putExtra("NAME", value);

我想实现一个ViewPager,以便用户可以轻松地在ListView项之间切换。因此,当前使用方法不是很好,因为我一次只有一个条目的数据,并且需要返回到原始活动以再次获取所有数据。

有没有办法让我的类对象在我的应用程序中全局可用?我觉得我的应用程序代码变得臃肿,因为我在错误的代码方法中克服了这些问题。

我刚刚研究过使用:

MyApp myapp = ((MyApp)context.getApplication());

但除非我可以传递上下文,否则这不会起作用,我不知道该怎么办?

在C#中你创建了一个可以处理这个问题的静态类....

由于 尼尔

3 个答案:

答案 0 :(得分:0)

你可以:

  • 保存数据的静态类(在进程被终止之前可用)
  • 提供数据访问权限的本地服务
  • 保存数据的应用程序类
  • 一种数据库机制,用于保存您的数据(在这种情况下,您只需将ID作为intent extra传递)

所有这些选项或多或少都有效,它还取决于您对数据的处理方式,来源,......

答案 1 :(得分:0)

我认为你正在寻找一个Singleton对象。创建将所有数据保存为单个对象的自定义类,并从代码中的任何位置访问其数据。此外,由于此数据可能与UI没有直接关系,因此您不应将其与活动相关联。

HTH,

阿克沙伊

答案 2 :(得分:0)

仔细阅读此question及其答案。我认为第一个答案的第三段对你有用。