我正在开发一个android应用程序。应用程序的内容是使用web服务从Web服务器获取的。我从Web服务器获取数据并存储在移动数据库中,并访问整个应用程序及其工作正常,但现在的问题是,从移动数据库中获取更多记录需要花费一些时间,并且应用程序挂起。如何在整个android应用程序中保持java集合
是否可以维护Java集合(如hashmap或hashtable)以维护整个应用程序,直到用户注销应用程序并且用户可以添加或更新集合中的数据为止。如果是这样,请指导我。它非常紧急..请帮助我。
我正在开发一个android应用程序。应用程序的内容是使用web服务从Web服务器获取的。我从Web服务器获取数据并存储在移动数据库中,并访问整个应用程序及其工作正常,但现在的问题是,从移动数据库中获取更多记录需要花费一些时间,并且应用程序挂起。如何在整个android应用程序中保持java集合
是否可以维护Java集合(如hashmap或hashtable)以维护整个应用程序,直到用户注销应用程序并且用户可以添加或更新集合中的数据为止。如果是这样,请指导我。它非常紧急..请帮助我。
首先,用户数据库最好用于存储目的。你应该寻找优化你的数据库查询和他们使用它的方式。但无论如何,您可以在您的第一个活动中创建一个静态哈希表或对象的数组列表。然后你可以在你想要的任何地方使用这个集合对象,并执行任何操作,它将直到整个直到,除非你在注册集合时注销应用程序或发生任何异常。
类MylunchedActivity延伸Activty {
公共静态HashMap的地图=新的HashMap(); }
MylunchedActivity应该是你的第一个活动。然后通过使用MylunchedActivity.map,你可以在你的地图上工作。
我希望这会有所帮助。
Regards, Ravi
您应该使用应用程序随Android API一起提供的类。
请参阅此链接..
http://www.xoriant.com/blog/mobile-application-development/android-application-class.html
创建的应用类中的全球独立的,并能够从我所用的活动访问。
如果要使用很多,您可以在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
这里有一些可能的解决方案:
How to store hashmap so that it can be retained it value after a device reboot?
Saving a hash map into Shared Preferences
一个是serialize/deserialize,另一个是使用sharedpreference,因为您的要求是在用户注销之前保存/编辑数据。
感谢您的宝贵解答。我会尝试所有可能的解决方案。再次感谢。 – deepa 2012-01-10 08:08:33
尝试一下,接受适合您问题的答案。 – 2012-01-10 08:18:15