Passing values between activities in Android
我有一个关于在Android活动之间传递数据的问题。我试图创建一个对象Parcelable,它可以工作,但对于每个类实现起来都很复杂。我想尝试将该值存储为全局值,并在其他活动中获取它。我知道我们应该避免全球化,但目前我没有其他的解决办法。有什么建议吗?也许如果我使用一个集合,它应该是Parcelable,对吧??
事先谢谢:)
- 给我们一些代码示例。你可以在有意图的活动之间传递任何东西。
- 嗯,似乎只传递parcelable对象…但如果由其他物体组成的物体是很难的…我没有要显示的代码,但我只需定义一个类,实例化一个非Parcelable对象并将引用传递给另一个活动:)
我有一种强烈的感觉,我们误解了Activities的整个概念。从目的的extra传递数据的机制来看,我可以说Activity是被发明的,它完全不需要在彼此之间交换大量数据。但我仍然没有一点Android核心设计师的观点。检查这个线程,MB,你会发现它有帮助。
我已经成功地使用了一个util类来保存private static对象,我需要将这些对象传递给一个应用程序中的其他活动。不要害怕尝试。
- 你的意思是扩展应用程序??
- 不需要。只需创建一个类,您可以根据需要获取/设置各种对象。然后,您的活动可以调用UtilClass.setCommonObject(Object o)和UtilClass.getCommonObject()来传递数据。
- 是的,这就是我现在的工作方式:)它起作用,但是,是的,我害怕使用它,因为我认为它不是一个干净的解决方案…
SharedReferences是所有活动都可以访问的全局存储
http://developer.android.com/reference/android/content/sharedreferences.html
…但作为一个键/值存储,它的功能不比意向附加功能更强。
- 嗯,我会保留对对象的全局引用,而不是将其存储在文件中……我不知道该类,但它似乎用于保存首选项,不是吗?