摘要:
Hilt是Google Android官方新推荐的依赖注入工具. 基于Dagger, 面向Android定制, 可以和Dagger共存. 阅读全文
摘要:
本篇本着学习的目的, 用Taro做一个简单的微信小程序.
代码在这里: https://github.com/mengdd/mini-program-todo 阅读全文
摘要:
用Moor做TODO app:
* 基本使用: 依赖添加, 数据库和表的建立, 对表的基本操作.
* 问题解决: 插入数据注意类型; 多个表的文件组织.
* 常用功能: 外键和join, 数据库升级, 条件查询. 阅读全文
摘要:
为了弄懂Flutter的状态管理, 我用10种方法改造了counter app. 阅读全文
摘要:
Flutter中json转换model, 除了手动转之外, 就是利用第三方库做一些代码生成.
流行的库有: [json_serializable](https://pub.dev/packages/json_serializable)和[built_value](https://pub.dev/packages/built_value)
本文介绍[built_value](https://pub.dev/packages/built_value)的实际使用及问题处理. 阅读全文
摘要:
Kotlin Tutorials系列文章暂时完结啦. 阅读全文
摘要:
Kotlin Android项目可用的静态检查工具: Android官方的Lint, 第三方的ktlint和detekt. 阅读全文
摘要:
Kotlin DSL, 指用Kotlin写的Domain Specific Language.
本文通过解析官方的Kotlin DSL写html的例子, 来说明Kotlin DSL是什么.
首先是一些基础知识, 包括什么是DSL, 实现DSL利用了那些Kotlin的语法, 常用的情形和流行的库.
对html实例的解析, 没有一冲上来就展示正确答案, 而是按照分析需求, 设计, 和实现细化的步骤来逐步让解决方案变得明朗清晰. 阅读全文
摘要:
Android项目用Gradle构建, 其脚本语言之前是Groovy, 目前也提供了Kotlin的支持, 所以可以迁移到Kotlin.
官方的迁移文档说明的是更通用的步骤.
本文通过一个具体的Android项目来举例如何迁移, 文后附有sample. 阅读全文
摘要:
在Android中, 我们用到的数据有可能是一次性的, 也有可能是需要多个值的.
本文介绍Android中结合协程(coroutines)的MVVM模式如何处理这两种情况. 重点介绍协程`Flow`在Android中的应用. 阅读全文
摘要:
Kotlin coroutines在Android中的应用.
协程在Android中主要用来解决什么问题; 和Architecture Components, MVVM构架如何完美结合. 阅读全文
摘要:
协程中的Channel用于协程间的通信, 它的宗旨是:
```
Do not communicate by sharing memory; instead, share memory by communicating.
``` 阅读全文
摘要:
Kotlin协程(coroutines)基础. 阅读全文
摘要:
多年后, 再次翻阅设计模式书籍, 将每种模式的要点总结于此, 需要本身有一定设计模式基础, 再结合要点, 帮助更好理解与运用. 阅读全文
摘要:
Android App安装包体积优化: 理由, 指标和可以采用的方法. 阅读全文
摘要:
Google I/O 2019, Android版本的学霸画重点的笔记. 阅读全文
摘要:
Effective Java是一本经典的书, 很实用的Java进阶读物, 提供了各个方面的best practices.
最近终于做完了Effective Java的读书笔记, 发布出来与大家共享. 阅读全文
摘要:
要说程序如何从简单走向复杂, 线程的引入必然功不可没, 当我们期望利用线程来提升程序效能的过程中, 处理线程的方式也发生了从原始时代向科技时代发生了一步一步的进化, 正如我们的Elisha大神所著文章[The Evolution of Android Network Access](https://medium.com/@elye.project/the-evolution-of-android-network-access-1e199fc6e9a2)中所讲到的, Future可能会是Kotlin Coroutines的时代. 阅读全文
摘要:
跨功能需求(Cross-Functional Requirements, CFR)通常被称为非功能需求(Non-Functional Requirements, NFR), 也可以叫做系统质量属性(System Quality Attributes/Traits), 是指那些用来评价系统运行状态的需求.
和具体的业务功能需求(Functional Requirements)不同, 这种需求定义的不是具体的行为和功能(What to do), 而是系统在完成这些功能的时候的属性(How well).
用Cross-Functional Requirements(CFR)来指代这种需求, 是希望开发者们能在开发的过程中能一直考虑到这些需求, 并且帮助非技术人员意识到要实现这些需求所需要的额外的工作量.
本文介绍在Mobile应用开发时需要考虑的各种CFRs. 阅读全文
摘要:
Google自2017年第一次提出Flutter, 到2018年Beta, 再加之RN的各种风波与问题, 使得Flutter的热度不断上升, 国内不少公司都公布Flutter在其产品中的应用, 如美团, 闲鱼等. 阅读全文
摘要:
本文分为三部分, 第一部分简单介绍如何使用Espresso, 第二部分分析如何处理诸如异步, 依赖注入, 程序结构对UI测试的影响以及提供解决办法, 第三部分提供源码以及一些Reference的地址. 阅读全文
摘要:
Android中的构架模式一直是一个很hot的topic, 近年来Architecture components推出之后, MVVM异军突起, 风头正在逐渐盖过之前的MVP.
其实我觉得MVP还是有好处的, 比如灵活多变(其实只是我用起来更熟悉顺手一些吧).
个人是没有什么偏见的, 关于项目的构架, 只要找到适合的就行.
最近打算实际用一下mosby这个开源库, 帮助构建一下mvp模式, 本文是我的心路历程和代码心得记录. 阅读全文
摘要:
大话设计模式 全书读书笔记. 这本书针对各种设计模式, 属于基础书籍, 场景和例子比较生动(虽然废话比较多). 总体来说还是值得看一下.
初学者学习, 工作者温故知新. 阅读全文
摘要:
RxJava2已经推出有一年半的时间,由于之前RxJava已经在现有项目中广泛使用,而RxJava2在除了很多命名外并没有太多革新,所以相信有很多人跟我一样都还没有升级.
随着老版本渐渐的失去维护,更重要的是有一定时间允许我来做这个迁移,其实弃老从新一直都是程序员的喜好. 阅读全文
摘要:
主要包含的内有有
@Binds与@Provides的使用
Provider 阅读全文
摘要:
本文摘自文章: [20+ Awesome Open-Source Android Apps To Boost Your Development Skills](https://blog.aritraroy.in/20-awesome-open-source-android-apps-to-boost-your-development-skills-b62832cf0fa4).
考虑到原文在墙外, 故分享在此, 希望让更多开发者看到. 阅读全文
摘要:
你的app发送的网络请求是电量消耗的主要原因, 本文先教你如何使用IDE工具来分类分析应用中的网络请求, 之后按照三种不同的网络请求分类, 分别给出优化建议, 减少电量消耗.
本文是对Android官网[Reducing Network Battery Drain](https://developer.android.com/topic/performance/power/network/index.html)系列文章的翻译, 略有删减, 可以作为摘要看看. (翻译不当的地方还请见谅). 阅读全文
摘要:
Android Realm使用指南, 包括了官方文档中一些基本用法的介绍, 还有实际使用中发现的一些需要注意的点. 阅读全文
摘要:
`ConstraintLayout`让你可以在很平的view结构(没有多层布局嵌套)中构建一个复杂的布局结构. 有点像`RelativeLayout`, 所有的view都是根据它和兄弟View和父layout的关系布局的, 但是它比`RelativeLayout`要更加灵活, 在Layout Editor中也更加好用. 阅读全文
摘要:
本期内容包括: ConstraintLayout的使用; Android Things的应用; 如何利用第三方库使得Java具有Kotlin的一些新特性; Firebase是如何利用`ContentProvider`进行初始化的; Kotlin上的并发处理; 其他还有一些关于程序架构, 代码优化相关的讨论. 阅读全文