小松的技术博客

六和敬

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

  1. Android 架构之美 - Room(上)

    Room 是 Google 官方出品的 ORM(Object-relational mapping) 框架,当然市面上也有很多 ORM 框架,例如 GreenDao、OrmLite、Litepal 等。个人并没有了解过其它框架,因此也无法比较其优缺点,相对而言,Room 毕竟是官方出品,能够更好的与 LiveData 等框架结合使用,如果是新项目的话,建议使用。 引入 // 这里以 androidx 最新版为例 implementation 'androidx.room:room-runtime…

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

    ViewModel 是数据与 UI 分离的中间层,提供了一个将数据转换为 UI 友好型数据的场所。其次,它也提供了多 Fragment 复用相同 ViewModel 的机制。 简单使用 class UserViewModel(): ViewModel() { val userLiveData = LiveData<User>() override fun onCleared(){ // clear 工作,例如 Rxjava 里取消订阅 } }…

    Android开发 继续阅读
  3. Android 架构之美-LiveData

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

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

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

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

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

    Android开发 继续阅读