2011-08-18 63 views
0

我有一个使用自定义类的应用程序。当应用程序启动时,我将在主要活动中填充该类的一个实例,并保存所有数据。在整个Android应用程序中可访问的全局对象

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

目前,我有通过传递,是有关新活动给它的数据:

intent.putExtra("NAME", value); 

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

有没有办法让我的类对象在全球范围内可用ANYWHERE在我的应用程序?我感觉我的应用程序代码越来越臃肿,因为我正在用错误的代码方法克服这些问题。

我只是看着使用:

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

但是这不会工作,除非我可以通过周围的背景下,这我不知道该怎么办?

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

感谢 尼尔

回答

0

曾经使用过此question及其答案读出。我认为第一个答案的第三段对你有用。

+0

这就是我想要做的!谢谢 – neildeadman

0

你可以有:

  • 静态类牵着你的数据(可直到过程中止)
  • 本地服务提供访问您的数据
  • 保存您的数据的应用程序类别
  • 数据库机制,以保存数据(在这种情况下,你只需通过ID作为额外的意图)

所有这些都或多或少有效,这也取决于你与你的数据做什么选择,它来自哪里,...

+0

我该如何创建一个静态类? – neildeadman

0

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

HTH,

阿克沙伊

相关问题