小松的技术博客

六和敬

若今生迷局深陷,射影含沙。便许你来世袖手天下,一幕繁华。 你可愿转身落座,掌间朱砂,共我温酒煮茶。

Tag: Android开发

  1. Android 架构之美-LiveData

    有可能很多人会问,LiveData 和 Rxjava 的区别是什么? 为何 Google 要在 Rxjava 很成熟的时候开发 LiveData? 我想,LiveData 可以作为更好的 rxlifecycle 来使用。在使用 Rxjava 做数据流管理时,一个比较头疼的问题是,当数据回来时,Activty/Fragment 可能已经处于 onStop 的状态了,这个时候是不适合刷新 UI 的,很有可能触发 crash。 因此有人开发了 rxlifecycle 来解决这些问题,但是使用者必须继承…

    Android开发 继续阅读
  2. Android架构之美-Lifecycle

    自 2017 年, Google推出了很多架构组件,使得开发一个新的 app 变得更加容易。在使用这些组件后,你会有一种身心愉悦的感受:这些组件设计得太流弊了。 当然,不能只是停留在使用的层面,去源码中看看这些组件开发者是如何设计的,更有益于我们的成长。 首先来感受下,官方 Lifecycle 组件的设计。 Android 的生命周期管理一直是个老生常谈的问题,很多功能都需要考虑生命周期的问题。例如,onStop 后不要去做发送网络请求、更新UI、请求地理位置等工作。 在没有 Lifecycle…

    Android开发 继续阅读
  3. QMUI 刘海屏适配方案

    自 iPhone X 出了个刘海屏后,Android 各大厂商就先后跟进。由于 Android 碎片化严重,各大厂商各自为政,导致 Android 刘海屏的适配可谓痛苦,而网上的适配文章基本上只是简单的对官方文档做了一次搬运,对于业务线的同学来说,太不好使用了,因而我们需要做一次封装,解决各种兼容问题,让业务线最小程度感知刘海屏的存在。 QMUI 新版本就添加了 QMUINotchHelper 以及相关组件,这篇文章就是简要介绍 QMUI 的封装方案以及相关使用要点,可以从官网下载 apk,点击…

    Android开发 继续阅读
  4. 理解 FragmentManager 的 BackStack

    最近, QMUI 的 fragment 管理框架升级到了 0.1.0, 添加了一个新的接口 startFragmentAndDestroyCurrent, 可以方便的完成类似 startActivity 之后 finish 的效果,有兴趣的可以试试: implementation "com.qmuiteam:arch:0.1.0" 其源码在 QMUI,有兴趣的也可以去看看。 FragmentTransition#addToBackStack 的误用 之前也有人在 issue 中问道如何实现类…

    Android开发 继续阅读
  5. QMUILayout, 让 UI 开发更简单

    在 Android UI开发过程中,我们会觉得非常繁琐的事情是什么呢?分隔线、圆角、边框、阴影、点击态等,在以往的实践中,我们都是通过 drawable 去实现的,非常麻烦。以分隔线为例,如果左右都打通,那还能复用,但现在的设计师都喜欢左边或右边有一定的 inset,而 inset 的值并非一成不变的,这不经意间就使得项目添加了数不清的 drawable,因此目前大多数人都开始尝试不使用 drawble 去解决这些问题了,QMUI 也不例外。 QMUI 1.1.0 版本带来的新的组件套装 QMU…

    Android开发 继续阅读