很高兴见到你!
上上上周,通过友人的介绍,我 承接并独立负责了 29 个页面、34 个 API、涉及 350 余个细节 的中大型电商软件的开发(感谢友人在项目后期 主动提出帮忙调整布局和对接 JS 😃)。
该软件有成熟的 iOS 实例,有专门适配 Android 的 360dp 设计稿,有 Restful API,所以尽管是第一次为合作方代工,总的来说还是一次满意的合作。
在该项目中,我广泛地采用了 Jetpack 架构组件。
事实上,正因为 依托于 Jetpack 面向标准化的、普适的 架构设计 和 理念规约,我才 得以在如此高强度的、紧凑的研发周期内,完成合作方原以为不太可能完成的任务。
在有过这次研发经历后,我越发地想要向所有认识的、或者不认识的人推( qiang )荐( po )使用 Jetpack 架构组件。
并且,在架构组件中,如果说有哪个组件是我首推的,我一定会选择 LiveData。
作者:KunMinX 链接: https://juejin.im/post/5d6763dc5188257a5f39635b
1
momocraft 2019-08-29 14:31:39 +08:00 1
没有看懂 不过能感受到你的热情
|
2
zjsxwc 2019-08-29 16:22:47 +08:00
666,
把前端的 State 概念抄过来改了个名字叫做 LiveData |
3
zjsxwc 2019-08-29 16:27:14 +08:00
@zjsxwc #2 原文:“ 666,把前端的 State 概念抄过来改了个名字叫做 LiveData ”
====== 回复:还是有一点区别,由于前端组件是通过 ui 里的 props 属性来传递数据的,所以前端的 State 会比较纯粹,而安卓没有,于是 LiveData 只能增加订阅者模式把监听 props 变动的活也一起揽过来干了 |
4
HarryQu 2019-08-29 16:44:51 +08:00 via Android
29 个页面, 34 个 api ,中大型应用。。。。
|
5
winterbells 2019-08-29 16:46:17 +08:00 via Android
livedata 用多了感觉就是另一种形式的 MVP,看着很乱
我习惯用 databinding,多个页面共用数据,绑同一个 model 就好了 |
6
crs0910 2019-08-29 16:50:29 +08:00
不懂安卓开发,看起来文章是在说 1. RxJava 跟 LiveData 不是一样的东西 2. SSOT 真香
提问:为啥没有像前端 NgRx 这样的库,这样不就不用吵了 |
7
wingyiu 2019-08-30 11:34:36 +08:00
你们发明的这些玩意,微软老人家都搞过
|
8
innerpeace03 2019-08-30 12:17:40 +08:00
别的不说,只是想问下大佬,LiveData 每次都获取最新状态这个问题你是怎么解决的,比如如果配合 Navigation 使用,当你点击某个 button 进行某种判断,然后进入到下个页面,当返回的时候你所监听的那个 livedata 就会去获取一遍最新状态,然后此时就会出问题。。
|
9
KunMinX OP @innerpeace03 很简单,是 Navigation 的路由采取的是 replace,而非 show hide 的办法,导致返回时会重新请求一把状态。如果上一级页面是嵌套多个 Fragment 的 Container 的话,返回还会造成一定程度的卡顿。
解法是通过自定义一个 Navigator,我在这篇文章中有详尽的介绍: https://xiaozhuanlan.com/topic/5860149732 |