小松的技术博客

六和敬

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

  1. DynamicEntity - 字节码生成实践

    在 MVC、MVVM 等分层架构中,一般是让 Model/ Entity 类尽量纯净,只有属性和一堆的 setter/getter 方法,但是在复杂的需求场景下,我们又经常会使得它变得不那么纯净。 好在 Java 的手段多,我们可以用一些手段降低 Entity 的视觉和使用的污染程度: 一种是使用注解,Room、Moshi 都是走这种方式,通过编译时生成另外一份中间代码或者运行时拿注解信息做判断。 另外一种就是字节码生成技术,可以让你看到的是一份简洁的代码,而实际上是一份复杂的代码,代表就是…

    Android开发 继续阅读
  2. Android scheme 跳转的设计与实现

    缘起 随着 App 的成长,我们难免会遇到以下这些需求: H5 跳原生界面 Notification 点击调相关界面 根据后台返回数据跳转界面,例如登录成功后跳不同界面或者根据运营需求跳不同界面 实现 AppLink 的跳转 为了解决这些问题,App 一般都会自定义一个 scheme 跳转协议,多端都实现这个协议,以此来解决各种运营需求。今天就来解析下 QMUI 最新版 QMUISchemeHandler 的设计与实现。 一个 scheme 的格式大概是这样子: schemeName…

    Android开发 继续阅读
  3. QMUI实战(四)— QMUI 换肤的实现

    QMUI 2 一个最大的特色就是支持了换肤(夜间模式),今天就来聊聊 QMUI 换肤的使用与实现。 在阅读本文之前,可以先到 Github QMUI Wiki 上查看QMUI换肤的使用文档。 QMUI 换肤最原始是为了适配 Dark Mode。但作为框架的实现者,就需要考虑到更通用的使用形式,并且要尽可能保证 API 的简洁性。因而 QMUI 是支持多套肤色的切换,而 Dark Mode 只是其中的一种。 在无需重启 Activity 的前提下,我们做换肤框架的实现思路其实是很简单的:就是当触发…

    Android开发 继续阅读
  4. 2019年年终总结

    春生、夏长、秋收、冬藏,四季的变迁重新归零,时间的转轴将再次拨动。《内经》云:冬不藏精,春必温病。意思是说如果我们冬天没有做好阳气的收藏,春天万物复苏之际会得温病。对于我们的知识也是一样,如果在上一年没做好知识的沉淀,那么在来年新技术欣欣向荣之际,就容易迷失。今时之人讲计划,说一年之际在于春,可是自身的资本都不足,计划的保障力又有多少呢?希望我自己 2019 年的沉淀能够支撑起自己 2020 年的远航。 工作 今年一年的工作都是以微信读书故事流为主的。一个人承担了故事流 Android 端几乎所…

    年终总结 继续阅读
  5. QMUI实战(三)—你是如何启动你的第一个 Fragment 的?

    上一篇文章讲了一些关于 Activity 和 Fragment 的一些零碎的知识点,只有深入的了解了它们,我们才能合理的运用它们。UI相比于数据流,更灵活也更混乱,合理运用不同组件,可以使得条例更清晰,代码量更少。 合理运用Activity 与 Fragment 虽然我们经常在说单 Activity 多 Fragment 的架构,但官方推荐的架构并不是单 Activity 多 Fragment 的架构,如果我们去看他的文档或示例代码,我们可以得到官方一个推荐的职责划分: Activity 用于模…

    Android开发 继续阅读