Fragment/Activity 数据保存和传输

2016-04-13 20:28:45 +08:00
 stdying
APP 有个流程 如从 Activity A -->B -->C-->D
每个 Activity 都会产生数据,在 Activity D 汇总处理,
问题是 Activity A , B,C 产生的数据是依次往后传递还是说临时保存在 Activity D 在获取
9680 次点击
所在节点    Android
19 条回复
zhgg0
2016-04-13 20:42:49 +08:00
依次传递
anthonyeef
2016-04-13 20:51:29 +08:00
可以有蛮多方法的吧。真的太懒可以用 Eventbus 之类,在不同时候发布事件。
zhangdawei
2016-04-13 20:52:27 +08:00
简单就用 eventbus
palytoxin
2016-04-13 20:59:25 +08:00
后台开个 service 用 IPC 呗。。。
lhh
2016-04-13 21:19:55 +08:00
以我现在的水平,我就只是在 intent 里 putextra 。。。
limengwei
2016-04-14 08:38:46 +08:00
eventbus + 1
stdying
2016-04-14 10:31:15 +08:00
@zhgg0 个别 activity 传递的数据比较多,如 list 数据
@anthonyeef 可以说说有哪些吗
@zhangdawei 可用
@palytoxin 不是很理解,可否简单细说一下
@lhh 我用过,总觉有点麻烦
@limengwei eventbus 数据网哪传, activity 是一个一个跳转
saberpowermo
2016-04-14 10:59:39 +08:00
eventbus 并不是最好的选择.
eventbus 让代码变的很松散.
个人建议 老老实实 用 Bundle 传递.
saberpowermo
2016-04-14 11:00:25 +08:00
如果传递的东西太多 可以用全局变量去存储啊 大家都去读取就好了啊
比如放在 XxooApplication 中啊
saberpowermo
2016-04-14 11:01:29 +08:00
不过如果在公共的 static 集合中存储东西的时候 一定要慎重 管理好 每一个实例的生命周期
时刻小心内存泄漏
stdying
2016-04-14 11:21:24 +08:00
@saberpowermo 还是 bundle 更好些,便于理解;还有就是我打算用 sqlite 存储,不过想想有点大材小用
saberpowermo
2016-04-14 11:38:02 +08:00
@stdying 。。别闹 sqlite 不是这样用的
stdying
2016-04-14 14:07:45 +08:00
@saberpowermo sqlite 你们主要用来存储什么信息
congshuxiao
2016-04-14 15:16:03 +08:00
@stdying 数据库是用来做数据持久化的,这种即时保存的需求不用
palytoxin
2016-04-14 15:40:11 +08:00
@stdying 我当时想后台开个服务和 act 做进程间通信,太麻烦。数据库就挺不错,中间 fc 了数据也能找回来。也可以试试 http://developer.android.com/guide/topics/data/data-storage.html#pref
saberpowermo
2016-04-14 17:48:21 +08:00
@stdying 你随便打开 1 个新闻类的 app.
然后退出
然后关闭网络 进入... 你就知道 sqlite 存储的是什么类型的数据了。。
stdying
2016-04-14 19:48:23 +08:00
@saberpowermo 我一直以为新闻类的是使用文件缓存这个
wanttofly
2016-04-14 21:06:59 +08:00
用 Bundle 有任何疑问吗?
stdying
2016-04-15 14:36:14 +08:00
@wanttofly 我也用 bundle ,每次都要传递

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/270837

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX