首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  Android

重学安卓: RxJava 才不是 LiveData 的对手!

  •  1
     
  •   KunMinX · 85 天前 · 2029 次点击
    这是一个创建于 85 天前的主题,其中的信息可能已经有所发展或是发生改变。

    很高兴见到你!

    上上上周,通过友人的介绍,我 承接并独立负责了 29 个页面、34 个 API、涉及 350 余个细节 的中大型电商软件的开发(感谢友人在项目后期 主动提出帮忙调整布局和对接 JS 😃)。

    该软件有成熟的 iOS 实例,有专门适配 Android 的 360dp 设计稿,有 Restful API,所以尽管是第一次为合作方代工,总的来说还是一次满意的合作。

    20190801120247.png

    在该项目中,我广泛地采用了 Jetpack 架构组件。

    事实上,正因为 依托于 Jetpack 面向标准化的、普适的 架构设计 和 理念规约,我才 得以在如此高强度的、紧凑的研发周期内,完成合作方原以为不太可能完成的任务

    在有过这次研发经历后,我越发地想要向所有认识的、或者不认识的人推( qiang )荐( po )使用 Jetpack 架构组件。

    并且,在架构组件中,如果说有哪个组件是我首推的,我一定会选择 LiveData。

    作者:KunMinX 链接: https://juejin.im/post/5d6763dc5188257a5f39635b

    9 回复  |  直到 2019-08-30 13:39:32 +08:00
        1
    momocraft   85 天前   ♥ 1
    没有看懂 不过能感受到你的热情
        2
    zjsxwc   85 天前
    666,
    把前端的 State 概念抄过来改了个名字叫做 LiveData
        3
    zjsxwc   85 天前
    @zjsxwc #2 原文:“ 666,把前端的 State 概念抄过来改了个名字叫做 LiveData ”
    ======
    回复:还是有一点区别,由于前端组件是通过 ui 里的 props 属性来传递数据的,所以前端的 State 会比较纯粹,而安卓没有,于是 LiveData 只能增加订阅者模式把监听 props 变动的活也一起揽过来干了
        4
    HarryQu   85 天前 via Android
    29 个页面, 34 个 api ,中大型应用。。。。
        5
    winterbells   85 天前 via Android
    livedata 用多了感觉就是另一种形式的 MVP,看着很乱
    我习惯用 databinding,多个页面共用数据,绑同一个 model 就好了
        6
    crs0910   85 天前
    不懂安卓开发,看起来文章是在说 1. RxJava 跟 LiveData 不是一样的东西 2. SSOT 真香
    提问:为啥没有像前端 NgRx 这样的库,这样不就不用吵了
        7
    wingyiu   84 天前
    你们发明的这些玩意,微软老人家都搞过
        8
    innerpeace03   84 天前
    别的不说,只是想问下大佬,LiveData 每次都获取最新状态这个问题你是怎么解决的,比如如果配合 Navigation 使用,当你点击某个 button 进行某种判断,然后进入到下个页面,当返回的时候你所监听的那个 livedata 就会去获取一遍最新状态,然后此时就会出问题。。
        9
    KunMinX   84 天前
    @innerpeace03 很简单,是 Navigation 的路由采取的是 replace,而非 show hide 的办法,导致返回时会重新请求一把状态。如果上一级页面是嵌套多个 Fragment 的 Container 的话,返回还会造成一定程度的卡顿。

    解法是通过自定义一个 Navigator,我在这篇文章中有详尽的介绍:

    https://xiaozhuanlan.com/topic/5860149732
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4163 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 09:02 · PVG 17:02 · LAX 01:02 · JFK 04:02
    ♥ Do have faith in what you're doing.