stdying
V2EX  ›  Android

Fragment/Activity 数据保存和传输

  •  
  •   stdying · Apr 13, 2016 · 14635 views
    This topic created in 3857 days ago, the information mentioned may be changed or developed.
    APP 有个流程 如从 Activity A -->B -->C-->D
    每个 Activity 都会产生数据,在 Activity D 汇总处理,
    问题是 Activity A , B,C 产生的数据是依次往后传递还是说临时保存在 Activity D 在获取
    19 replies  •  2016-04-15 14:36:14 +08:00
    zhgg0
    zhgg0
    Apr 13, 2016
    1
    依次传递
    anthonyeef
    anthonyeef
    Apr 13, 2016 via Android
    2
    可以有蛮多方法的吧。真的太懒可以用 Eventbus 之类,在不同时候发布事件。
    zhangdawei
    zhangdawei
    Apr 13, 2016
    3
    简单就用 eventbus
    palytoxin
    palytoxin
    Apr 13, 2016
    4
    后台开个 service 用 IPC 呗。。。
    lhh
    lhh
    Apr 13, 2016
    5
    以我现在的水平,我就只是在 intent 里 putextra 。。。
    limengwei
    limengwei
    Apr 14, 2016 via Android
    6
    eventbus + 1
    stdying
    stdying
    OP
    Apr 14, 2016
    7
    @zhgg0 个别 activity 传递的数据比较多,如 list 数据
    @anthonyeef 可以说说有哪些吗
    @zhangdawei 可用
    @palytoxin 不是很理解,可否简单细说一下
    @lhh 我用过,总觉有点麻烦
    @limengwei eventbus 数据网哪传, activity 是一个一个跳转
    saberpowermo
    saberpowermo
    Apr 14, 2016
    8
    eventbus 并不是最好的选择.
    eventbus 让代码变的很松散.
    个人建议 老老实实 用 Bundle 传递.
    saberpowermo
    saberpowermo
    Apr 14, 2016
    9
    如果传递的东西太多 可以用全局变量去存储啊 大家都去读取就好了啊
    比如放在 XxooApplication 中啊
    saberpowermo
    saberpowermo
    Apr 14, 2016
    10
    不过如果在公共的 static 集合中存储东西的时候 一定要慎重 管理好 每一个实例的生命周期
    时刻小心内存泄漏
    stdying
    stdying
    OP
    Apr 14, 2016
    11
    @saberpowermo 还是 bundle 更好些,便于理解;还有就是我打算用 sqlite 存储,不过想想有点大材小用
    saberpowermo
    saberpowermo
    Apr 14, 2016
    12
    @stdying 。。别闹 sqlite 不是这样用的
    stdying
    stdying
    OP
    Apr 14, 2016
    13
    @saberpowermo sqlite 你们主要用来存储什么信息
    congshuxiao
    congshuxiao
    Apr 14, 2016
    14
    @stdying 数据库是用来做数据持久化的,这种即时保存的需求不用
    palytoxin
    palytoxin
    Apr 14, 2016 via iPhone
    15
    @stdying 我当时想后台开个服务和 act 做进程间通信,太麻烦。数据库就挺不错,中间 fc 了数据也能找回来。也可以试试 http://developer.android.com/guide/topics/data/data-storage.html#pref
    saberpowermo
    saberpowermo
    Apr 14, 2016
    16
    @stdying 你随便打开 1 个新闻类的 app.
    然后退出
    然后关闭网络 进入... 你就知道 sqlite 存储的是什么类型的数据了。。
    stdying
    stdying
    OP
    Apr 14, 2016
    17
    @saberpowermo 我一直以为新闻类的是使用文件缓存这个
    wanttofly
    wanttofly
    Apr 14, 2016
    18
    用 Bundle 有任何疑问吗?
    stdying
    stdying
    OP
    Apr 15, 2016
    19
    @wanttofly 我也用 bundle ,每次都要传递
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2791 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 14:10 · PVG 22:10 · LAX 06:10 · JFK 09:10
    ♥ Do have faith in what you're doing.