我试图找出存储ArrayList<HashMap<String, String>>
项目的最佳方式,以便跨活动访问它。在一个活动中,我通过将一系列HashMap<String, String>
项目添加到 ArrayList 来存储它。
我将如何在另一个活动中访问它?我尝试了 SharedPreferences,但据我所知,它只会将其存储为字符串。有什么建议么?
编辑:我以标签、值的形式将 XML 存储在 HashMap 中
你为什么不为此使用应用程序类?这样你就可以把数据结构放在那里,它的信息可以在活动之间共享。请注意,应用程序可能会被破坏,并且将其保留在应用程序中意味着您必须将其保存在 sharedprefs 中,或者如果要永久保留它,则必须将其写入磁盘。
我将如何在另一个活动中访问它?
第一种方式
第二种方式
如果您下载 xml 并设置数据,则使用Bean Concept.
最简单的方法是创建一个单独的类并用静态变量填充它,如下所示:
http://www.glenmccl.com/tip_002.htm
这样,您可以创建静态方法来根据需要跨活动获取和设置值。
但是,有些人会争辩说,这不像简单地创建一个扩展 Application* 的新类那样安全。如果您决定这样做,那么您还需要在 AndroidManifest.xml 文件中注册扩展。