cw-omnibus:一本 Android 开发书的全部示例代码
文章目录
- cw-omnibus:一本 Android 开发书的全部示例代码
- 这仓库里有什么
- 怎么用
- 关于版本管理
- 这个项目适合谁
- 书的获取方式
cw-omnibus:一本 Android 开发书的全部示例代码
5320 Star。
这本书叫The Busy Coder’s Guide to Android Development,作者 Mark Murphy。你可能在 Stack Overflow 上见过他,ID 是 CommonsWare,回答了不少 Android 相关的问题。
书本身覆盖 Android 开发的方方面面,从基础到进阶,一年更新好几次。这个仓库就是书里用到的所有示例代码,几百个独立的 Android 项目,每个都能单独跑。
这仓库里有什么
几百个 Android 示例项目,按主题分目录存放。
看一下目录结构就知道覆盖范围有多广:ActionBar、Animation、Camera、Database、Fragments、HTTP、Maps、Notification、RecyclerView、SQLite、WebView……基本上 Android 开发能碰到的场景,这里都有对应的示例。
每个子目录下面还有更细的拆分。比如ActionBar下面有ActionBarDemoNative、HoloColor、MaterialColor、SearchView这些,分别演示 ActionBar 的不同用法。HTTP下面有OkHttp、Retrofit、Volley,三种主流网络库的写法都有。
怎么用
每个项目都有build.gradle,直接导入 Android Studio 就行。
需要注意的是,如果build.gradle里写的compileSdkVersion你本地没装,得自己改一下。buildToolsVersion同理,用 SDK Manager 里你已有的版本就行。
仓库里有 Gradle wrapper 的桩文件,够导入用了。但作者提了一句:导入前先看一眼gradle-wrapper.properties,确认没被动手脚。这是个安全提醒,虽然概率不高,但小心没坏处。
如果想命令行编译,需要本地装 Gradle 3.3。仓库故意没放gradlew,也是出于安全考虑。
关于版本管理
书和代码是同步更新的。仓库用git tag把代码版本和书的版本绑在一起,你可以切到特定 tag 去看对应章节的代码。比如你买的是某个时间点的书,想跑当时的示例,切 tag 就行。
代码用 Apache 2.0 协议开源,商用也没问题。
目录名用的是章节标题缩写,没放章节编号。原因很简单:每次更新章节顺序可能调整,有些示例还会被多个章节引用,用编号只会越改越乱。
这个项目适合谁
在学 Android 开发的人。想看某个具体功能怎么实现的人。想找一个完整示例库做参考的人。
几百个可运行的项目,每个都是最小可运行的状态,去掉了一切无关代码,只保留你要看的那部分逻辑。这种写法对学习来说效率很高,比在大项目里翻来翻去找相关代码要直接得多。
书的获取方式
书通过 Warescription 订阅获取,不是免费的。订阅者还能参加 office hours 线上答疑。代码本身是免费开源的,不买书也能用。
作者 Mark Murphy 在 Android 社区活跃了很多年,Stack Overflow 上的 CommonsWare 就是他,回答质量一直在线。这本书从 2008 年左右就开始写了,算是 Android 开发领域持续维护时间最长的参考资料之一。
本书从 2008 年左右就开始写了,算是 Android 开发领域持续维护时间最长的参考资料之一。
