摘要: 首发于《程序员》杂志五月刊 一、前言 万维网发明人 Tim Berners-Lee 谈到设计原理时说过:“简单性和模块化是软件工程的基石;分布式和容错性是互联网的生命。” 由此可见模块化之于软件工程领域的重要性。 从 2016 年开始,模块化在 Android 社区越来越多的被提及。随着移动平台的不阅读全文
posted @ 2017-05-16 14:35 BaronZhang 阅读(4525) 评论(0) 编辑
摘要: 本文已授权微信公众号 AndroidDeveloper 独家发布。 入职安居客三年从工程师到Team Leader,见证了Android团队一路走来的发展历程。因此有心将这些记录下来与大家分享,也算是对自己三年来一部分工作的总结。希望对大家有所帮助,更希望能得到大家宝贵的建议。 一、三网合并 三年前阅读全文
posted @ 2017-02-25 16:03 BaronZhang 阅读(3272) 评论(22) 编辑
摘要: 首发于《程序员》杂志五月刊 一、前言 万维网发明人 Tim Berners-Lee 谈到设计原理时说过:“简单性和模块化是软件工程的基石;分布式和容错性是互联网的生命。” 由此可见模块化之于软件工程领域的重要性。 从 2016 年开始,模块化在 Android 社区越来越多的被提及。随着移动平台的不阅读全文
posted @ 2017-05-16 14:35 BaronZhang 阅读(4525) 评论(0) 编辑
摘要: 最近公司项目需要在WebView上调用手机系统相册来上传图片,开发过程中发现在很多机器上无法正常唤起系统相册来选择图片。解决问题之前我们先来说说WebView上传文件的逻辑:当我们在Web页面上点击选择文件的控件()时,会回调WebChromeClient下的openFileCho...阅读全文
posted @ 2017-03-02 16:09 BaronZhang 阅读(37) 评论(0) 编辑
摘要: 前言在过去的文章中我介绍过Java8的一些新特性,包括:Java8新特性第1章(Lambda表达式)Java8新特性第2章(接口默认方法)Java8新特性第3章(Stream API)之前由于Android平台不支持Java8,如果我们想在Android项目中使用Lambda表达式...阅读全文
posted @ 2017-03-02 15:47 BaronZhang 阅读(12) 评论(0) 编辑
摘要: Stream作为Java8的新特性之一,他与Java IO包中的InputStream和OutputStream完全不是一个概念。Java8中的Stream是对集合功能的一种增强,主要用于对集合对象进行各种非常便利高效的聚合和大批量数据的操作。结合Lambda表达式可以极大的提高开...阅读全文
posted @ 2017-03-02 15:45 BaronZhang 阅读(7) 评论(0) 编辑
摘要: 在Java中一个接口一旦发布就已经被定型,除非我们能够一次性的更新所有该接口的实现,否者在接口的添加新方法将会破坏现有接口的实现。默认方法就是为了解决这一问题的,这样接口在发布之后依然能够继续演化。默认方法就是向接口增加新的行为。它是一种新的方法:接口方法可以是抽象的或者是默认的。...阅读全文
posted @ 2017-03-02 15:44 BaronZhang 阅读(4) 评论(0) 编辑
摘要: 在介绍Lambda表达式之前,我们先来看只有单个方法的Interface(通常我们称之为回调接口):public interface OnClickListener { void onClick(View v);}我们是这样使用它的:button.setOnClickList...阅读全文
posted @ 2017-03-02 15:41 BaronZhang 阅读(11) 评论(0) 编辑
摘要: 文章中的例子和思路均来自于《Head First》场景我们接到一个来自气象局的需求:气象局需要我们构建一套系统,这系统有两个公告牌,分别用于显示当前的实时天气和未来几天的天气预报。当气象局发布新的天气数据(WeatherData)后,两个公告牌上显示的天气数据必须实时更新。气象...阅读全文
posted @ 2017-03-02 15:35 BaronZhang 阅读(28) 评论(0) 编辑
摘要: 之前写过一系列RxJava的文章,也承诺过会尽快有RxJava2的介绍。无奈实际项目中还未真正的使用RxJava2,不敢妄动笔墨。所以这次还是给大家分享一个使用RxJava1解决问题的案例,希望对大家在使用RxJava的时候有一点点启发。对RxJava还不了解的同学可以先去看看我之...阅读全文
posted @ 2017-03-02 15:21 BaronZhang 阅读(21) 评论(0) 编辑
摘要: RxJava系列1(简介)RxJava系列2(基本概念及使用介绍)RxJava系列3(转换操作符)RxJava系列4(过滤操作符)RxJava系列5(组合操作符)RxJava系列6(从微观角度解读RxJava源码) RxJava系列7(最佳实践) 前言有点标题党了,其实谈不上...阅读全文
posted @ 2017-03-02 15:20 BaronZhang 阅读(45) 评论(0) 编辑
摘要: RxJava系列1(简介)RxJava系列2(基本概念及使用介绍)RxJava系列3(转换操作符)RxJava系列4(过滤操作符)RxJava系列5(组合操作符)RxJava系列6(从微观角度解读RxJava源码) RxJava系列7(最佳实践) 前言通过前面五个篇幅的介绍,...阅读全文
posted @ 2017-03-02 15:15 BaronZhang 阅读(26) 评论(0) 编辑