2012-01-10 81 views
1

我正在开发一个android应用程序。应用程序的内容是使用web服务从Web服务器获取的。我从Web服务器获取数据并存储在移动数据库中,并访问整个应用程序及其工作正常,但现在的问题是,从移动数据库中获取更多记录需要花费一些时间,并且应用程序挂起。如何在整个android应用程序中保持java集合

是否可以维护Java集合(如hashmap或hashtable)以维护整个应用程序,直到用户注销应用程序并且用户可以添加或更新集合中的数据为止。如果是这样,请指导我。它非常紧急..请帮助我。

+1

感谢您的宝贵解答。我会尝试所有可能的解决方案。再次感谢。 – deepa 2012-01-10 08:08:33

+0

尝试一下,接受适合您问题的答案。 – 2012-01-10 08:18:15

回答

0

首先,用户数据库最好用于存储目的。你应该寻找优化你的数据库查询和他们使用它的方式。但无论如何,您可以在您的第一个活动中创建一个静态哈希表或对象的数组列表。然后你可以在你想要的任何地方使用这个集合对象,并执行任何操作,它将直到整个直到,除非你在注册集合时注销应用程序或发生任何异常。

类MylunchedActivity延伸Activty {

公共静态HashMap的地图=新的HashMap(); }

MylunchedActivity应该是你的第一个活动。然后通过使用MylunchedActivity.map,你可以在你的地图上工作。

我希望这会有所帮助。

Regards, Ravi

0

使用独立类或静态类来维护需要存储的运行时静态数据。

+0

通过使用独立类,是否有可能更新,删除集合中的现有数据?请你多解释一下或者一些参考链接 – deepa 2012-01-10 07:33:51

+0

使用这种方法你可能会遇到内存不足的问题。 – 2012-01-10 07:42:08

+0

独立你可以定义许多方法,你需要操纵数据或集合,独立搜索谷歌,你会得到足够的指导。 – jeet 2012-01-10 07:42:19

0

创建的应用类中的全球独立的,并能够从我所用的活动访问。

如果要使用很多,您可以在Global Singleton中传递数据。

public class YourApplication extends Application { 

public SomeDataClass data = new SomeDataClass(); 
// Your JAVA collections... 
} 

然后通过调用它的任何活动:

YourApplication appState = ((YourApplication)this.getApplication()); 
appState.data.UseAGetterOrSetterHere(); // Do whatever you need to with the data here. 

欲了解更多信息看Android Application Class

相关问题