![240](https://cdn2.jianshu.io/assets/default_avatar/3-9a2bcc21a5d89e21dafc73b39dc5f582.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
前言 如果你接触过 跨进程通信 (IPC),那么你对Binder一定不陌生 虽然 网上有很多介绍 Binder的文章,可是存在一些问题:浅显的讨论Binder机制 或 一味讲...
近年来大学最热门的专业无疑是计算机,而在中小学基础教育这块儿,编程热也是方兴未艾,连奥巴马也提出“编程要从娃娃抓起”。 当我看到才小学二年级的女儿,都已经在学校学编程了,而七...
Google在今年的IO大会上宣布,将Android开发的官方语言更换为Kotlin,作为跟着Google玩儿Android的人,我们必须尽快了解和使用Kotlin语言。 不...
Martin Fowler Any fool can write code that a computer can understand. Good programmers ...
ViewModel 是 Android 架构组件之一,用于分离 UI 逻辑与 UI 数据。在发生 Configuration Changes 时,它不会被销毁。在界面重建后,...
在 Android 中,Activity 和 Fragment 这类 UI 组件会被系统销毁或重建,未特殊处理的 UI 数据将会丢失。以往处理这类问题时,会使用 onSave...
《Effective Java 中文版第2版》书中第16条中说到: 继承是实现代码复用的有力手段,但它并非永远是完成这项工作的的最佳工具。 组合优于继承。 继承有什么问题? ...
之前写过一篇使用RecyclerView,一句代码就够了,介绍了一个功能较完善的RecyclerView框架的实现。该框架虽然代码不多,但是仍然不够简洁,耦合度也比较高,难以...
写的很好,点个赞~
OneAdapter: RecyclerView最简单的万能适配器之前写过一篇使用RecyclerView,一句代码就够了,介绍了一个功能较完善的RecyclerView框架的实现。该框架虽然代码不多,但是仍然不够简洁,耦合度也比较高,难以...
在开发应用时,我们可能会基于一系列的生命周期实现某种功能。为了复用,也为了不让应用组件变得很臃肿,实现该功能时会选择与生命周期组件解藕,独立成一种组件。这样能够很方便地在应用...
(文中图片均来源于网络) Git Git已是代码版本管理的标配,其分布式、多分支功能让人印象深刻。 Git工作流程(Git Workflow) 当项目需要多人共同开发时,规范...