如何在不同的Android活动之间正确交换数据或对象?
欢迎屏幕 <-> 主屏幕 <-> 启动程序 <-> 处理数据 <-> 设置
在Android应用程序中拥有多个活动是否正常/推荐? 在我看来,这种应用程序内部的数据交换模型有些奇怪。
如何在不同的Android活动之间正确交换数据或对象?
欢迎屏幕 <-> 主屏幕 <-> 启动程序 <-> 处理数据 <-> 设置
在Android应用程序中拥有多个活动是否正常/推荐? 在我看来,这种应用程序内部的数据交换模型有些奇怪。
在Android应用程序中有多个活动是正常/推荐的吗?
正常?是的。推荐?这取决于应用程序。
我认为,在应用程序内部具有这种数据交换模型有点奇怪
对于Web应用程序,你会怎么做?嗯,你将模型保存在一个中央位置(服务器)并在主要UI单元(页面)之间的链接中传递小的上下文数据(URL参数)。
对于桌面应用程序,你会怎么做?嗯,你将模型保存在一个中央位置(数据库)并在主要UI单元(窗口)之间的链接中传递小的上下文数据(例如构造函数参数)。
对于Android应用程序,你会怎么做?嗯,你将模型保存在一个中央位置(数据库、ContentProvider等),并在主要UI单元(活动)之间的链接中传递小的上下文数据(Intent extras)。
在 Android 开发者页面上有一个概述:
http://developer.android.com/guide/appendix/faq/framework.html#3
总的来说,这取决于您要传递什么类型的数据。但一般来说,如果可能的话,我会选择使用 Intents,因为它们速度快且专为此而建。
这里有一个例子,说明如何使用 Intents 在活动之间传递数据。
按照谷歌的指示在这里执行:http://developer.android.com/resources/faq/framework.html#3
选择: 原始数据类型 非持久化对象 单例类 - 我最喜欢的 :D 一个公共静态字段/方法 一个弱引用对象的HashMap 持久化对象(应用程序首选项、文件、内容提供者、SQLite数据库)