├── Android-Librarys-Top-100.md
├── README.md
└── fake_land
├── LogUtils.java
└── NetworkUtils.java
/Android-Librarys-Top-100.md:
--------------------------------------------------------------------------------
1 |
2 | Special thanks to the generous sponsorship by:
3 |
4 |
5 |
6 |
7 |
8 |
9 | # GitHub Android Libraries Top 100 简介
10 |
11 | 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不相关的项目, 所以排名并不具备任何官方效力, 仅供参考学习, 方便初学者快速了解当前一些流行的 Android 开源库.
12 |
13 | > iOS 版本的在此: https://github.com/Aufree/trip-to-iOS/blob/master/Top-100.md
14 |
15 | >感谢 [@GitHubDaily](http://weibo.com/GitHubDaily) 与 [@Android 开发日常](http://weibo.com/AndroidDevDaily) 的大力支持, 以及 [@stormzhang](https://github.com/stormzhang) 的指点
16 |
17 | **若有任何疑问可通过[邮件](mailto:huanggaojun13@gmail.com)或[微博](http://weibo.com/gaojunhuang)联系我**
18 |
19 | 项目名称 | 项目简介
20 | ---------|---------
21 | 1.[react-native](https://github.com/facebook/react-native) | 这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开源框架 React Native, 该框架结合了 Web 应用和 Native 应用的优势, 可以使用 JavaScript 来开发 iOS 和 Android 原生应用
22 | 2.[Android-Universal-Image-Loader](https://github.com/nostra13/Android-Universal-Image-Loader) | ImageLoader 是最早开源的 Android 图片缓存库, 强大的缓存机制, 早期被广泛 Android 应用使用, 至今仍然有很多 Android 开发者在使用
23 | 3.[RxJava](https://github.com/ReactiveX/RxJava) | RxJava 是一个在 Java VM 上使用可观测的序列来组成异步的, 基于事件的程序的库, 简单来说它就是一个实现异步操作的库, RxJava 的优点在于一个词 "简洁", 使用它就算你程序逻辑有多么复杂, 它依然能够保持简洁易懂
24 | 4.[retrofit](https://github.com/square/retrofit) | Retrofit 是 Square 公司出品的 HTTP 请求库, 同时是 Square 是最早开源项目之一, Retrofit 是目前 Android 最流行的 Http Client 库之一, 目前版本是 Retrofit2.0 Beta4, 越来越多 Android 开发者开始使用这个请求库了
25 | 5.[okhttp](https://github.com/square/okhttp) | OkHttp 是 Square 公司出品的 HTTP 另一个请求库, Google 不推荐人们使用 HttpClient, 可是 HttpURLConnection 实在是太难用了, 因此很多人使用了 OkHttp 来解决这问题, 据说 Android4.4 的源码中可以看到 HttpURLConnection 已经替换成 OkHttp 实现呢
26 | 6.[SlidingMenu(不建议使用)](https://github.com/jfeinstein10/SlidingMenu) | 一个侧滑菜单开源库, 在 Google 自己原生态的侧滑菜单 NavigationDrawer 没有出现之前, 这个库就已经被广泛使用, 可是到现在这个库已经被放弃了
27 | 7.[picasso](https://github.com/square/picasso) | Picasso 是 Square 公司出品的一款图片缓存库, 主导者是 JakeWharton 大神
28 | 8.[android-best-practices](https://github.com/futurice/android-best-practices) | Android 开发最佳实践, 里面所介绍的经验都是来自于 Futurice 公司 Android 开发者, 介绍内容有 Android 开发规范, 架构, 布局技巧, 以及使用一些有助于快速开发相关工具等等, 非常适合新手去学习
29 | 9.[EventBus](https://github.com/greenrobot/EventBus) | EventBus 是 Android 事件管理总线, 使用它可以替带 Android BroadCast, BroadCastReceiver, Handler 在 Activity, Fragment, Service, 线程之间传递消息, 大大简化了事件传递逻辑
30 | 10.[android-async-http](https://github.com/loopj/android-async-http) | Android-Async-Http 是 Android 一款老牌异步请求库, 专门对 Android 在 Apache 的 HttpClient 基础上构建的异步 http 连接, 该库有很多特征, 例如: 库的 size 小, 支持文件上传不需使用第三方库支持, 内部使用线程池来处理并发, 等等
31 | 11.[fresco](https://github.com/facebook/fresco) | Fresco 是 FaceBook 公司出品的一款图片缓存库, Fresco 是一个强大的图片加载组件, 支持加载 Gif 图和 WebP 格式, 支持 Android2.3(API level 9) 及其以上系统, Fresco 中设计了 Image pipeline 和 Drawees 两个模块各施其职, 使得图片完美加载出来, 想知道更多 image pipeline 和 Drawees 有关于它的特性, 可以到它[官方平台](http://fresco-cn.org/)看介绍
32 | 12.[zxing](https://github.com/zxing/zxing) | ZXing 是二维码领域中名气最大的开源项目, 它提供了多个平台的二维码/条形码扫描解决方案, 拥有扫描快, 识别率高, 使用简单等特点
33 | 13.[leakcanary](https://github.com/square/leakcanary) | LeakCanary 是 Square 公司出的一款检测内存泄露工具, 该工具能帮助你在开发阶段方便的检测出内存泄露的问题, 使用起来非常简单方便
34 | 14.[butterknife](https://github.com/JakeWharton/butterknife) | 由 JakeWharton 大神开发出来的, ButterKnife 是 View 注入框架, 使用它为了简写很多 findViewById 代码, 同时还支持 View 的一些事件处理函数
35 | 15.[MPAndroidChart](https://github.com/PhilJay/MPAndroidChart) | MPAndroidChart 是一款强大的 Android 图表库, 支持各种各样图表显示, 能想到的图表样式这里几乎都有, 图表还支持选择, 拖放和缩放动画效果
36 | 16.[ActionBarSherlock (不建议使用)](https://github.com/JakeWharton/ActionBarSherlock) | ActionBarSherlock 这个库是 JakeWharton 大神开发出来支持 Android3.0 以下版本的, 后来慢慢的 Google 也提供了 AppCompat 库来支持 Android3.0 以下版本使用 ActionBar, 因此作者不建议我们再使用这个库了
37 | 17.[androidannotations](https://github.com/excilys/androidannotations) | AndroidAnnotations 是一个能够让你快速进行 Android 开发的开源框架, 它能让你专注于真正重要的地方, 使代码更加精简, 使项目更加容易维护, 它的目标就是 "Fast Android Development.Easy maintainance"
38 | 18.[ViewPagerIndicator](https://github.com/JakeWharton/ViewPagerIndicator) | 由 JakeWharton 大神开发出来的一个 ViewPager 指示器, 使用起来简单方便, 可高度定制, 开发出各种各样动画效果
39 | 19.[glide](https://github.com/bumptech/glide) | Glide 是 Google 员工的开源项目, 广泛应用于 Google 一些 App 上, 在2014年 Google I/O 大会上被推荐使用, Glide 和 Picasso 被人拿来比较研究过, Glide 与 Picasso 有 90% 的相似度, 但在一些细节上还是有点区别的, 各有各优缺点看君选择
40 | 20.[HomeMirror](https://github.com/HannahMitt/HomeMirror) | 开发者是由一名程序媛 Hannah Mittelstaedt , HomeMirror 是一款 Android 镜子应用, 目前它能实现日期, 时间, 天气, 生日信息, 事件提醒器, 骑车天气的推荐, 股票信息, XKCD 漫画网站的新帖等等
41 | 21.[Android-PullToRefresh(不建议使用)](https://github.com/chrisbanes/Android-PullToRefresh) | 一个强大的拉动刷新开源项目, 支持各种控件下拉刷新, ListView, ViewPager, WebView, ExpandableListView, GridView, ScrollView, Horizontal ScrollView, Fragment 上下左右拉动刷新, 不过现在这个项目已经停止维护更新了, 推荐使用 [Android-Ultra-Pull-To-Refresh](https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh)
42 | 22.[MaterialDesignLibrary](https://github.com/navasmdc/MaterialDesignLibrary) | 这个库控件都是遵循了 Google Material Design 设计规范开发出来, 例如有: Flat Button, Rectangle Button, CheckBox, Switch, Progress bar circular indeterminate 等等
43 | 23.[PhotoView](https://github.com/chrisbanes/PhotoView) | PhotoView 是 ImageView 的子类, 支持所有 ImageView 的源生行为, 例如: 支持 Pinch 手势自由缩放, 支持双击放大/还原, 支持平滑滚动等等, 并且非常方便的与 ImageLoader/Picasso 之类的网络图片读取库集成使用, 还方便的与 ViewPager 等同样支持滑动手势的控件集成
44 | 24.[RxAndroid](https://github.com/ReactiveX/RxAndroid) | 由 JakeWharton 大神主导开发的项目, RxAndroid 是 RxJava 的一个针对 Android 平台的扩展, 主要用于 Android 开发
45 | 25.[material-dialogs](https://github.com/afollestad/material-dialogs) | Material Dialogs 是一个可高度定制易用, 符合 Material Design 风格的 Dialogs, 兼容 Android API8 以上版本, 个人使用感觉它完全可替代 Android 原生那个, 比原生那个更加简单易用
46 | 26.[Android-ObservableScrollView](https://github.com/ksoichiro/Android-ObservableScrollView) | ObservableScrollView 是一款用于在滚动视图中观测滚动事件的 Android 库, 它能够轻而易举地与 Android 5.0 Lollipop 引进的工具栏 (Toolbar) 进行交互, 还可以帮助开发者实现拥有 Material Design 应用视觉体验的界面外观, 支持ListView, ScrollView, WebView, RecyclerView, GridView组件
47 | 27.[Android-Bootstrap](https://github.com/Bearded-Hen/Android-Bootstrap) | Android 版的 Bootstrap, 利用这个库能够实现很多 Bootstrap 样式风格, 之前有学过 Html 的人就知道 Bootstrap 是什么玩意啦
48 | 28.[AndroidSwipeLayout](https://github.com/daimajia/AndroidSwipeLayout) | 开发者是代码家, AndroidSwipeLayout 是一个支持ListView, GridView, ViewGroup等等左右上下滑动出操作菜单, 类似 qq 消息列表向左滑动显示出多某条信息的操作菜单
49 | 29.[dagger](https://github.com/square/dagger) | Dagger 是 Square 公司出品的一个针对 Android 和 Java 的快速依赖注入器, 能够有效减少你敲代码量
50 | 30.[ListViewAnimations](https://github.com/nhaarman/ListViewAnimations) | 一个轻轻松松给 Android ListView 添加动画效果的库, 支持的动画有: Alpha, SwingRightIn, SwingLeftIn, SwingBottomIn, SwingRightIn and ScaleIn等等, 使用它能很容易就实现帅爆的效果
51 | 31.[PagerSlidingTabStrip(不建议使用)](https://github.com/astuetz/PagerSlidingTabStrip) | PagerSlidingTabStrip 是一个给 Android ViewPager添加上 ViewPager 滑动指示器, 从 GitHub 上面看, 这个库似乎没有人在维护了, 因此不建议使用, 可使用 [SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout) 来代替
52 | 32.[AndroidViewAnimations](https://github.com/daimajia/AndroidViewAnimations) | 开发者是代码家, 这个库实现很多很酷炫的 Android 动画, 动画效果是借鉴 Animate.css 来实现的, 非常酷, 而且这个使用起来也是非常简单
53 | 33.[AndroidSlidingUpPanel](https://github.com/umano/AndroidSlidingUpPanel) | AndroidSlidingUpPanel 是一个上拉面板, 就是向上滑动的时候往上飞出一个显示面板控件, 该库效果在 Google Music, Google Maps and Rdio等 App 应用到
54 | 34.[MaterialDrawer](https://github.com/mikepenz/MaterialDrawer) | MaterialDrawer 是一个类似 Google 官方 NavigationView 侧滑显示控件, 个人认为 NavigationView 并没有 MaterialDrawer 实用, 因为 NavigationView 自由度不是很好, 很多都写死了不可以自由定义布局, 而 MaterialDrawer 能够实现跟 NavigationView 一样的效果, 同时还支持自定义效果, 自由度非常高
55 | 35.[Material-Animations](https://github.com/lgvalle/Material-Animations) | Material-Animations 是一个很好过渡动画库, 可以应用于 Activity 与 Activity 之间的跳转, Fragment 与 Fragment 之间的跳转, 以及各个 View 变化前后的过渡动画
56 | 36.[MaterialViewPager](https://github.com/florent37/MaterialViewPager) | 一个简单易用 Material Design 风格的 ViewPager 库
57 | 37.[ion](https://github.com/koush/ion) | ion 是一个让 Android 的网络操作变得极其简单, 支持异步获取和处理JSON, 支持 Android 文件下载 (同时支持下载进度条绑定), 支持安全链接和代理
58 | 38.[stetho](https://github.com/facebook/stetho) | Stetho是 Facebook 出品的一个强大的 Android 调试工具,使用该工具你可以在 Chrome Developer Tools查看App的布局, 网络请求(仅限使用Volley, okhttp的网络请求库), sqlite, preference, 一切都是可视化的操作,无须自己在去使用adb, 也不需要root你的设备
59 | 39.[fastjson](https://github.com/alibaba/fastjson) | Fastjson 是一个 Java 语言编写的高性能功能完善的 JSON 库. 它采用一种“假定有序快速匹配”的算法, 把 JSON Parse的性能提升到极致, 是目前Java语言中最快的JSON库. Fastjson接口简单易用, 已经被广泛使用在缓存序列化, 协议交互, Web输出, Android客户端等多种应用场景
60 | 40.[cardslib (不建议使用)](https://github.com/gabrielemariotti/cardslib) | Cardslib 是早期由 Gabriele Mariotti 开发的一个为开发者方便实现各种 Card UI 的 Android 开源代码库, 后来 Google 官方提供自己封装了 CardView 在 v7 包下, 使用 Google 官方的可以完全替代了这个库, 因此这个也被弃用了
61 | 41.[Android-Ultra-Pull-To-Refresh](https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh) | 开发者是廖祜秋, 这个是一个非常强大的下拉刷新库, 继承 ViewGroup 可以包含任何 View, 功能甚至比 SwipeRefreshLayout 强大, 使用起来也非常容易, 还可以自由定制自己的 UI 样式
62 | 42.[greenDAO](https://github.com/greenrobot/greenDAO) | greenDAO 是一个可以帮助 Android 开发者快速将 Java 对象映射到 SQLite 数据库的表单中的 ORM解决方案, 通过使用一个简单的面向对象 API, 开发者可以对 Java 对象进行存储, 更新, 删除和查询, greenDAO 相对 OrmLite, AndrORM 这两个 ORM 开源库, 性能是最高的
63 | 43.[AndroidStaggeredGrid](https://github.com/etsy/AndroidStaggeredGrid) | AndroidStaggeredGrid 是一个支持多列并且每一行的 item 大小不一, 交错排列的 GridView, 就是实现瀑布流样式效果, 目前该库已经被弃用了, 开发者建议我们使用 Google 官方控件 RecyleView 中的 StaggeredGridLayoutManager 布局来实现瀑布流效果
64 | 44.[otto](https://github.com/square/otto) | Otto 是 Square 公司出的一个事件库 (pub/sub 模式), 用来简化应用程序组件之间的通讯, otto 修改自 Google 的 Guava 库, 专门为 Android 平台进行了优化, 与上面介绍的 EventBus 相比, 两个库各有各的优点, 完全取决于我们自己项目的需求来选择它们哪一个
65 | 45.[xUtils](https://github.com/wyouflf/xUtils) | xUtils 是一个快速开发框架, 里面包含 DbUtils, ViewUtils, HttpUtils, BitmapUtils 四大模块, 可用于快速开发, 支持大文件上传, 拥有更加灵活的 ORM, 最低兼容 Android 2.2
66 | 46.[realm-java](https://github.com/realm/realm-java) | Realm 一个轻量的 Android 版本的数据存储库, 比 Android 原生系统的 SQLite 更加简洁快速对数据进行操作
67 | 47.[Android-CleanArchitecture](https://github.com/android10/Android-CleanArchitecture) | CleanArchitecture 是一个非常典型使用 MVP 架构的项目, 大家如果还没有理解 MVP 架构的可以看看这个项目
68 | 48.[StickyListHeaders](https://github.com/emilsjolander/StickyListHeaders) | StickyListHeaders 是一个实现能够固定在屏幕顶部的ListView Section Header库, 就是当前 section 的 header 固定在屏幕顶部, 当滑动到其他 section 时, 其他 section 的 header 会代替之前的 section 的 header, 固定到屏幕顶部, 类似于 Android4.0 的手机通讯录的效果
69 | 49.[AppIntro](https://github.com/PaoloRotolo/AppIntro) | AppIntro 是一个让人轻松快速搭建漂亮酷炫的引导页库
70 | 50.[ActiveAndroid](https://github.com/pardom/ActiveAndroid) | ActiveAndroid 是采用Rails中的 [Active Record](http://en.wikipedia.org/wiki/Object-relational_mapping)架构模式设计的适用于 Android 平台的轻量级 ORM 架构, 几乎可以不用写任何 SQL 代码实现快速开发
71 | 51.[android-volley](https://github.com/mcxiaoke/android-volley) | Volley 是谷歌官方开发团队在 2013 年 Google I/O 大会推出的一个新的网络通信框架, 这个框架把 AsyncHttpClient 和 Universal-Image-Loader 的优点集于了一身,既可以像AsyncHttpClient 一样非常简单地进行 HTTP 通信,也可以像 Universal-Image-Loader 一样轻松加载网络上的图片, 这个库并不是官方的, 只是托管同步在 Maven, 官方只提供的 Jar 包
72 | 52.[twoway-view](https://github.com/lucasr/twoway-view) | TwoWayView 是简化 RecyclerView 开发的一个库, 可以在其 Base LayoutManager 基础上构建各种各样的布局, 该库内置了几个常用布局 List, Grid, Staggered Grid,Spannable Grid
73 | 53.[ShowcaseView](https://github.com/amlcurran/ShowcaseView) | ShowcaseView 是一个非常适合用于对用户进行第一次使用进行指导的库,使用起来非常简单还可以自定义样式
74 | 54.[Calligraphy](https://github.com/chrisjenx/Calligraphy) | Calligraphy 是一个用来简化 Android 应用使用自定义字体的类库, 该类库会自动查找应用中的 TextView 并设置其使用的字体
75 | 55.[NineOldAndroids](https://github.com/JakeWharton/NineOldAndroids) | NineOldAndroids 由 JakeWharton 大神开发的一个向下兼容的动画库, 主要是使低于API 11的系统也能够使用 View 的属性动画, 不过现在 JakeWharton 大神已经不推荐使用该库, 而是推荐我们使用官方封装在 Support 库里面的动画
76 | 56.[android-floating-action-button](https://github.com/futuresimple/android-floating-action-button) | FloatingActionButton 是一个悬浮操作按钮, 官方在 Support Design 包下也有封装一个类似这个库效果的 FloatingActionButton, 值得说明的是这个库是早在官方封装之前就存在的, 个人感觉这个库比官方那个更加好用
77 | 57.[CircleImageView](https://github.com/hdodenhof/CircleImageView) | CircleImageView 是一个轻松帮你实现圆形效果 ImageView 图片库, CircleImageView 是基于 ImageView 扩展出来, 因此它拥有 ImageView 控件所有属性, 简单易用值得你使用的库
78 | 58.[material](https://github.com/rey5137/material) | Material 是将 Material Design 风格控件封装在该库当中, 目前封装有Progress, Button, Switch, Slider, Spinner, Text Field, TabPageIndicator, SnackBar, Dialog, BottomSheetDialog, Dynamic theme
79 | 59.[ActionBar-PullToRefresh](https://github.com/chrisbanes/ActionBar-PullToRefresh) | ActionBar-PullToRefresh 是一个下拉刷新, 下拉刷新时在 ActionBar 出现加载中提示的库
80 | 60.[FloatingActionButton](https://github.com/makovkastar/FloatingActionButton) | 又一个悬浮操作按钮库, 该库添加支持监听滑滚动事件, 当向下滑时按钮隐藏, 向上滑时按钮显示, 还有动画效果, 支持监听 ListView, ScrollView, RecylerView
81 | 61.[AndroidAsync](https://github.com/koush/AndroidAsync) | AndroidAsync 是一款基于 NIO 的低端 Android 异步 socket, http (client+server), websocket 和 socket.io 网络通信协议类库
82 | 62.[rebound](https://github.com/facebook/rebound) | Rebound 是 Facebook 推出的一个弹性动画库, 可以让动画看起来真实自然, 像真实世界的物理运动, 带有力的效果, 使用的参数则是 Facebook 的 origami 中使用的
83 | 63.[android-common](https://github.com/Trinea/android-common) | android-common-lib 是 Trinea 大神收集的一些开发通用的缓存, 公共 View 以及一些常用工具类
84 | 64.[RippleEffect](https://github.com/traex/RippleEffect) | RippleEffect 是一个实现在 Android 任何组件点击出现 Material Design 的波纹效果, 向下兼容到 Android API9
85 | 65.[SmoothProgressBar](https://github.com/castorflex/SmoothProgressBar) | SmoothProgressBar 是一个帮你的 App 方便实现可定制, 平滑动画的水平滚动进度条库
86 | 66.[recyclerview-animators](https://github.com/wasabeef/recyclerview-animators) | RecyclerView Animators 是一个对 Recycler 控件的 Item 添加以及删除增加动画效果, 动画效果有Scale, Fade, Flip, Slide 里面各种各样效果
87 | 67.[circular-progress-button](https://github.com/dmytrodanylyk/circular-progress-button) | 一个带进度显示的 Button, 效果和动画做的都非常赞
88 | 68.[DroidPlugin](https://github.com/Qihoo360/DroidPlugin) | DroidPlugin 是 360 手机助手在 Android 系统上实现了一种新的插件机制: 它可以在无需安装, 修改的情况下运行APK文件, 此机制对改进大型APP的架构, 实现多团队协作开发具有一定的好处
89 | 69.[dynamic-load-apk](https://github.com/singwhatiwanna/dynamic-load-apk) | 开发者是 singwhatiwanna(任玉刚), 是《Android 开发艺术探索》书籍的作者, 这个是作者联合另两位开发者啸(时之沙)和宋思宇花了几个月时间研究出来的 Apk 动态加载框架, 想了解更多关于这框架可到作者博客看 [这篇文章](http://blog.csdn.net/singwhatiwanna/article/details/39937639) 有详细介绍
90 | 70.[ExoPlayer](https://github.com/google/ExoPlayer) | ExoPlayer 是Google 开发团队开源出来的一个媒体播放库, 比 Android 框架原生的 MediaPlayer 拥有更多优点支持动态的自适应流 HTTP(DASH) 和 平滑流, 支持高级的HLS特性, 支持自定义和扩治你的使用场景等等
91 | 71.[Crouton (不建议使用)](https://github.com/keyboardsurfer/Crouton) | Crouton 是一个显示提示信息的显示工具类, 可以用来代替 Toast, 默认显示在窗口的顶部, 可以按队列一个接着一个显示, 不过该库已经被弃用, 不推荐使用
92 | 72.[robospice](https://github.com/stephanenicolas/robospice) | RoboSpice 是一个使你建立异步的长时间的运行任务异常轻松的一个网络库,在网络请求,缓存支持,和提供开箱即用的 rest 请求方面尤为强大
93 | 73.[hugo](https://github.com/JakeWharton/hugo) | Hugo 是 JakeWharton 大神推出的一个用于打印 Log, hugo 是基于注解被调用的, 引入相关依赖后, 在方法上加上 @DebugLog 即可输出 Log, 使用非常简单
94 | 74.[async-http-client](https://github.com/AsyncHttpClient/async-http-client) | AsyncHttpClient 是又一款 Android 异步请求库, 该库支持 WebSocket 协议, 使用起来也比较简单易用
95 | 75.[UltimateRecyclerView](https://github.com/cymcsg/UltimateRecyclerView) | UltimateRecyclerView 是一个功能强大的 RecyclerView(advanced and flexible version of ListView), 包括了下拉刷新, 加载更多, 多种动画, 空数据提示, 拖动排序, 视差处理, 工具栏渐变, 滑动删除, 自定义floating button, 多种刷新效果, scrollbar, sticky header, 多 layout 支持等等元素, 而且使用起来跟 RecyclerView 一样的方便
96 | 76.[MaterialEditText](https://github.com/rengwuxian/MaterialEditText) | MaterialEditText 是就职于 Flipboard 的员工 [扔物线](https://www.zhihu.com/people/rengwuxian) 开发的, 在 AppCompat v21 中也提供了 Material Design 的控件 EditText, 可是由于比较难用, 没有提供设置颜色的 Api, 于是就产生这个第三方库
97 | 77.[Side-Menu.Android](https://github.com/Yalantis/Side-Menu.Android) | Side Menu 是 [Yalantis](https://yalantis.com/) 组织开源出来, 该组织因开源出一些动画很棒的开源库为大家所熟知该库是其中一个, 该库是提供翻页动画效果的侧边菜单, 动画体验超赞的
98 | 78.[drag-sort-listview](https://github.com/bauerca/drag-sort-listview) | DragSortListView 是一个可以实现拖动排序, 滑动删除的 listview 控件, 注意的是作者对该库已经放弃维护更新了, 不过感兴趣的人可以去研究一下
99 | 79.[android-times-square](https://github.com/square/android-times-square) | TimesSquare 是 Square 公司出品的一款显示日历选择日期的控件, 可以让用户选择多个日期
100 | 80.[GreenDroid(不建议使用)](https://github.com/cyrilmottier/GreenDroid) | GreenDroid 是一个封装好的 Android UI 界面库, 不过该库已经被弃用了, 不建议使用
101 | 81.[logger](https://github.com/orhanobut/logger) | Logger 是一个简单, 漂亮, 强大 Android 打印日志库
102 | 82.[acra](https://github.com/ACRA/acra) | Acra 是一个能够让 Android 应用自动将崩溃报告以谷歌文档电子表的形式进行发送的库, 旨在当应用发生崩溃或出现错误行为时, 开发者可以获取到相关数据
103 | 83.[FadingActionBar](https://github.com/ManuelPeinado/FadingActionBar) | FadingActionBar 是一个支持 ListView, ScrollView, WebView 向下滚动时逐渐显示 ActionBar 库
104 | 84.[AndroidImageSlider](https://github.com/daimajia/AndroidImageSlider) | AndroidImageSlider 库开发者是代码家, 该库是为 Banner 图片滑动提供多种动画效果, 还可以轻易为 Banner 加载网络图片
105 | 85.[SystemBarTint](https://github.com/jgilfelt/SystemBarTint) | SystemBarTint 是一个实现沉浸式状态栏库, 适用于 Android 系统 4.4 其以上的版本
106 | 86.[android-menudrawer](https://github.com/SimonVT/android-menudrawer) | MenuDrawer 是一款滑出式菜单库, 通过拖动屏幕边缘滑出菜单, 支持屏幕上下左右划出, 支持当前 View 处于上下层, 支持 Windows 边缘, ListView 边缘, ViewPager 变化划出菜单等
107 | 87.[RoundedImageView](https://github.com/vinc3m1/RoundedImageView) | RoundedImageView 一个快速支持图片圆角显示效果的库, 该库特点是能快速加载, 为了提高加载速度, 该库不用创建原始位图的副本, 不使用 clipPath, 不使用 setXfermode 裁剪的位图等方式来实现 ImageView 圆角, 使用也非常简单
108 | 88.[afinal](https://github.com/yangfuhai/afinal) | Afinal 是一个 android 的 sqlite orm 和 ioc 框架, 同时封装了 android 中的 http 框架, 使其更加简单易用, 使用 finalBitmap, 无需考虑 bitmap 在 android 中加载的时候 oom 的问题和快速滑动的时候图片加载位置错位等问题, Afinal 的宗旨是简洁, 快速, 约定大于配置的方式, 尽量一行代码完成所有事情
109 | 89.[android-pulltorefresh(不建议使用)](https://github.com/johannilsson/android-pulltorefresh) | 另一个下拉刷新库, 但是该库已经停止维护, 因此不建议使用, 推荐使用 [Android-Ultra-Pull-To-Refresh](https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh)
110 | 90.[Bolts-Android](https://github.com/BoltsFramework/Bolts-Android) | Bolts 是一款底层类库集合, 在后台实现异步操作, 并提供接口反馈当前异步执行的程度 (可以通过接口实现UI进度更新), 最后反馈执行的结果给UI主线程, 与AsyncTask比较: (1)使用的是无大小限制的线程池; (2)任务可组合可级联,防止了代码耦合
111 | 91.[NumberProgressBar](https://github.com/daimajia/NumberProgressBar) | NumberProgressBar 开发者是代码家, 这是一个带简约性感数字显示的进度条库, 使用非常简单方便
112 | 92.[SwipeBackLayout](https://github.com/ikew0ng/SwipeBackLayout) | SwipeBackLayout 是一个支持屏幕上下左右滑动返回上层 Activity, 关闭当前 Activity, 类似简书 App
113 | 93.[android-gif-drawable](https://github.com/koral--/android-gif-drawable) | 一个支持 gif 显示的 view, 用 jni 实现的, 编译生成 so 库后直接 xml 定义 view 即可, 简单易用
114 | 94.[VitamioBundle](https://github.com/yixia/VitamioBundle) | Vitamio 是一款 Android 与 iOS 平台上的全能多媒体开发框架, 特点:(1) 全面支持硬件解码与 GPU 渲染, (2) 能够流畅播放 720P 甚至 1080P 高清 MKV, FLV, MP4, MOV, TS, RMVB 等常见格式的视频, (3) 在 Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8)等常见的多种视频流媒体协议, 包括点播与直播
115 | 95.[SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout) | SmartTabLayout 是一个自定义的 Tab title strip, 基于 Google Samples 中的 android-SlidingTabBasic 项目, 滑动时 Indicator 可平滑过渡
116 | 96.[uCrop](https://github.com/Yalantis/uCrop) | uCrop 是[Yalantis](https://yalantis.com/) 组织开源的图片裁剪库, 支持缩放, 旋转图片, 支持各种比例的裁剪框, 非常强大的一个图片裁剪库
117 | 97.[android-crop](https://github.com/jdamcd/android-crop) | 又一个图片裁剪库, 向下兼容到 Api 10, 个人感觉这个库并没有比上面介绍的 uCrop 强大
118 | 98.[HoloEveryWhere](https://github.com/Prototik/HoloEverywhere) | HoloEveryWhere 是一套 Android 开发库, 提供了全套 Holo Style 控件, 它的外观与功能和标准 Holo Style 控件基本相同, 唯一不同的是它可以运行在低于 4.0 版本的 Android 系统上
119 | 99.[AVLoadingIndicatorView](https://github.com/81813780/AVLoadingIndicatorView) | AVLoadingIndicatorView 库含有各种各样漂亮的加载动画效果, 使用起来也非常简单, 和平时使用 ProgressBar 一样
120 | 00.[sweet-alert-dialog](https://github.com/pedant/sweet-alert-dialog) | Android 版的 SweetAlert, 清新文艺, 快意灵动的甜心弹框, 灵感来源于 JS 版 [SweetAlert](http://t4t5.github.io/sweetalert/)
121 |
122 | ## 粗计
123 |
124 | #### Square 公司占有 7 席
125 |
126 | 项目名称 | 排名
127 | ---------|--------
128 | [Retrofit](https://github.com/square/retrofit) | 4
129 | [OkHttp](https://github.com/square/okhttp) | 5
130 | [Picasso](https://github.com/square/picasso) | 7
131 | [LeakCanary](https://github.com/square/leakcanary) | 13
132 | [Dagger](https://github.com/square/dagger) | 29
133 | [Otto](https://github.com/square/otto) | 44
134 | [TimesSquare](https://github.com/square/android-times-square) | 79
135 |
136 | #### FaceBook 公司占有 4 席
137 |
138 | 项目名称 | 排名
139 | ---------|--------
140 | [React Native](https://github.com/facebook/react-native) | 1
141 | [Fresco](https://github.com/facebook/fresco) | 11
142 | [Stetho](https://github.com/facebook/stetho) | 38
143 | [Rebound](https://github.com/facebook/rebound) | 62
144 |
145 | #### JakeWharton 大神占有 5 席
146 |
147 | 项目名称 | 排名
148 | ---------|--------
149 | [Butter Knife](https://github.com/JakeWharton/butterknife) | 14
150 | [ActionBarSherlock](https://github.com/JakeWharton/ActionBarSherlock) | 16
151 | [ViewPagerIndicator](https://github.com/JakeWharton/ViewPagerIndicator) | 18
152 | [NineOldAndroids](https://github.com/JakeWharton/NineOldAndroids) | 55
153 | [Hugo](https://github.com/JakeWharton/hugo) | 73
154 |
155 | #### 代码家大神占有 4 席
156 |
157 | 项目名称 | 排名
158 | ---------|--------
159 | [AndroidSwipeLayout](https://github.com/daimajia/AndroidSwipeLayout) | 28
160 | [AndroidViewAnimations](https://github.com/daimajia/AndroidViewAnimations) | 32
161 | [AndroidImageSlide](https://github.com/daimajia/AndroidImageSlider) | 84
162 | [NumberProgressBar](https://github.com/daimajia/NumberProgressBar) | 91
163 |
164 | ## 感谢
165 |
166 | 感谢所有为开源而辛辛苦苦付出努力的人, 相信有你们 Android 会发展的更加美好, 让我们一起为他们辛辛苦苦付出的努力鼓掌吧!!
167 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | Special thanks to the generous sponsorship by:
3 |
4 |
5 |
6 |
7 |
8 |
9 | # Android 学习资料收集
10 |
11 | 收集整理这份资料灵感来自于 [trip_to_iOS](https://github.com/Aufree/trip-to-iOS), 征得同意引用了该资料的开头描述
12 |
13 | 收集整理这份资料主要帮助初学者学习 Android 开发, 希望能快速帮助到他们快速入门, 找到适合自己学习资料, 节省再去收集学习资料时间.
14 |
15 | 这份资料我会不断的更新完善, 同时也欢迎更多具有丰富经验的Android开发者将自己常用的工具、学习资料、学习心得等分享上来, 我将定期筛选合并, 该份学习资料有不足的地方, 也请指出, 我会谦虚接受改正, 希望我能与大家一起来学习, 谢谢.
16 |
17 | **如果您有任何意见或建议也可以通过[邮件](mailto:huanggaojun13@gmail.com)或[微博](http://weibo.com/gaojunhuang)联系我**
18 |
19 | >感谢 [@GitHubDaily](http://weibo.com/GitHubDaily) 与 [@Android 开发日常](http://weibo.com/AndroidDevDaily) 的大力支持
20 |
21 | ## 目录
22 |
23 | - [书籍](#书籍)
24 | - [开发环境/工具](#开发环境工具)
25 | - [博客](#博客)
26 | - [社区](#社区)
27 | - [开源项目学习](#开源项目学习)
28 | - [Android 开发者杂志周刊](#android-开发者杂志周刊)
29 | - [Awesome 系列](#awesome-系列)
30 | - [动画系列](#动画系列)
31 | - [Material Design 设计](#material-design-设计)
32 | - [素材](#素材)
33 | - [开源库收集](#开源库收集)
34 | - [设计模式](#设计模式)
35 | - [实践篇](#实践篇)
36 | - [面试](#面试)
37 | - [Git 教程](#git-教程)
38 | - [文档](#文档)
39 | - [其它资料收集](#其它资料收集)
40 | - [知乎上的讨论](#知乎上的讨论)
41 | - [贡献者](#贡献者)
42 | - [License](#license)
43 |
44 | =============================================================
45 |
46 | ## 书籍
47 |
48 | 书籍名称 | 推荐理由
49 | --------- | --------
50 | [Thinking In Java 中文版](http://www.amazon.cn/Java%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3-%E5%9F%83%E5%8F%B2%E5%B0%94/dp/B0011F7WU4/ref=sr_1_1?ie=UTF8&qid=1428138267&sr=8-1&keywords=java%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3) | 学习 Android 开发, 首先需要 Java 基础, 这里推荐 Thinking In Java, Thinking In Java 是 Java 的经典书籍, 是学习 Java 语言必备书籍
51 | [第一行代码](http://www.amazon.cn/%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81-Android-%E9%83%AD%E9%9C%96/dp/B00LVHTI9U/ref=sr_1_1?ie=UTF8&qid=1428138432&sr=8-1&keywords=%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E2%80%94%E2%80%94android+%E9%83%AD%E9%9C%96) | 郭霖大神的杰作, 郭神在CSDN中的博客文章非常不错, 书我看了, 非常适合新手, 里面的内容非常棒, 建议结合郭神博客文章一起来学习
52 | [疯狂Android讲义第三版](http://item.jd.com/11689014.html) | 作者是李刚, 这本书是基于 Android 5.0 来讲的, 我看过第二版, 这本书给我第一感觉就是很厚, 但里面内容写的还是很详细的, 代码很多, 可以跟着代码一步步敲
53 | [Android群英传](http://www.amazon.cn/Android%E7%BE%A4%E8%8B%B1%E4%BC%A0-%E5%BE%90%E5%AE%9C%E7%94%9F/dp/B01481RAA4/ref=sr_1_1?m=A1AJ19PSB66TGU&s=books&ie=UTF8&qid=1442198757&sr=1-1&keywords=android%E7%BE%A4%E8%8B%B1%E4%BC%A0) | 本书作者 @Tomcat 的猫, 曾就职于上海 TCL 通讯, 从事 Alcatel(阿尔卡特) Android 手机系统的定制工作, 活跃于 CSDN, 目前就职于上海沪江网 Android 开发部RD项目组, 负责沪江 App 的功能预研
54 | [Android开发艺术探索](http://product.china-pub.com/4806147) | 由@任玉刚Coder所著, 是一本 Android 进阶类书籍, 采用理论, 源码和实践相结合的方式来阐述高水准的 Android 应用开发要点. 本书从三个方面来组织内容: 第一, 介绍 Android 开发者不容易掌握的一些知识点: 第二,结合Android源代码和应用层开发过程, 融会贯通, 介绍一些比较深入的知识点: 第三, 介绍一些核心技术和Android的性能优化思想.
55 | [App 研发录](http://book.douban.com/subject/26649050/) | 本书作者是包建强, 本书是作者多年 App 开发的经验总结, 从 App 架构的角度, 重点总结了 Android 应用开发中常见的实用技巧和疑难问题解决方法, 为打造高质量 App 提供有价值的实践指导, 迅速提升应用开发能力和解决疑难问题的能力. 这本书非常有利于 Android 开发者进阶.
56 | [Android 设计模式源码分析](http://book.douban.com/subject/26644935/) | 本书作者是开发技术前线创立者之一 Mr.Simple, 该书从 Android 源码的角度由浅入深地剖析设计模式的运用, 让工程师们把设计与模式重视起来, 提升自己的设计能力与代码质量
57 |
58 | ## 开发环境/工具
59 | (附上: 由 [@脉脉不得语](http://weibo.com/234959219) 收集维护超多开发工具下载地址 [AndroidDevTools](https://github.com/inferjay/AndroidDevTools), 后五个工具资料在 [stormzhang](http://stormzhang.com/) 博客中找到的,[地址](http://stormzhang.com/android/2015/05/26/android-tools/))
60 |
61 | 环境/工具 | 简述
62 | -------- | --------
63 | [Android Studio](http://developer.android.com/sdk/index.html) | 这个开发工具上手需要一定的时间, 自从 Google 推出1.0正式版, 这个工具一直火爆, 谷歌也不停更新维护, 性能逐渐稳定提高, 目前 github 上面的绝大多数开源项目都是使用 Android Studio 工具, 这就是开发 Android 必须掌握使用的工具, 如果还在使用 Eclipse 开发 Android 的童鞋们, 赶紧换成 AS 开发吧
64 | [Genymotion](https://www.genymotion.com/#!/download) | 强大好用高性能的 Android 模拟器, 自带的那个模拟器简直不忍直视, 启动超慢的, 跟这个没法比, 无论你是用 Eclipse 还是 Android Studio 里面都有 Genymotion 插件
65 | [jadx](https://github.com/skylot/jadx) | 一个 Android 反编译神器, 不同于常见的 [dex2jar](https://github.com/pxb1988/dex2jar), 这个反编译器生成代码的 try/catch 次数更少, View也不再是数字 id 了, 可读性更高
66 | [android-selector](https://github.com/importre/android-selector-intellij-plugin) | 可以根据指定颜色生成 Selector Drawable 的插件
67 | [GradleDependenciesHelperPlugin](https://github.com/ligi/GradleDependenciesHelperPlugin) | Gradle 依赖自动补全插件
68 | [Smali Viewer](http://blog.avlyun.com/show/%E3%80%8Asv%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97%E3%80%8B/) | sv 是一款免费 APK 分析软件, 对你感兴趣的 APP 分析看看它们都用了些什么, 对你学习借鉴有一定帮助
69 | [folding-plugin](https://github.com/dmytrodanylyk/folding-plugin) | layout 文件夹里的布局文件一般很长很长没有目录, 这个插件就可以把 layout 分好层级结构, 类似 src 下目录结构
70 | [CodeGlance](https://github.com/Vektah/CodeGlance) | 在编辑代码最右侧, 显示一块代码小地图
71 | [Statistic](https://plugins.jetbrains.com/plugin/?idea&id=4509) | 统计整个项目行数的插件, 这可表示我们日日夜夜辛辛苦苦必备插件
72 | [idea-markdown](https://github.com/nicoulaj/idea-markdown) | 在 AS 中编写 Markdown 文件, 可以直接预览网页显示效果, 对于你经常编写 Markdown 文件的你值得拥有这个插件
73 | [Stetho](http://facebook.github.io/stetho/) | Stetho 是 Facebook 出品的一个强大的 Android 调试工具,使用该工具你可以在 Chrome Developer Tools 查看 App 的布局, 网络请求(仅限使用 Volley, okhttp 的网络请求库), sqlite, preference, 一切都是可视化的操作,无须自己在去使用 adb, 也不需要 root 你的设备
74 | [ClassyShark](https://github.com/google/android-classyshark) | ClassyShark 是 Google 发布的一款可以查看 Android 可执行文件的浏览工具, 支持.dex, .aar, .so, .apk, .jar, .class, .xml 等文件格式, 分析里面的内容包括 classes.dex 文件, 包方法数量, 类, 字符串, 使用的 NativeLibrary 等
75 | [AndroidWiFiADB](https://github.com/pedrovgs/AndroidWiFiADB) | 使用 WiFi 连接而不需要 USB 连接 Android 设备达到安装, 运行, 调试应用的目的
76 | [checkstyle-idea](https://github.com/jshiell/checkstyle-idea) | Checkstyle-idea 是一款检查自己写的代码是否符合规范的插件, 该插件是根据 checkstyle.xml 文件来检查的, checkstyle.xml 文件可以由自己自己定义, 也可以使用一些大公司定义的规范, 如果不懂得如何定义, 可以查看 [官方文档](http://checkstyle.sourceforge.net/checks.html), 该插件的详细介绍以及使用, 可以看一下咕咚大侠写的 [文章](http://gudong.name/2016/04/07/checkstyle.html)
77 | [ECTranslation](https://github.com/Skykai521/ECTranslation) | ECTranslation 是 Android Studio 开发工具的一个翻译插件, 可以将英文翻译为中文, 英语基础差的童鞋装上它就可以轻松阅读 Android 源码啦
78 | [Android Methods Count](https://plugins.jetbrains.com/plugin/8076?pr=androidstudio) | 统计 Android 依赖库中方法的总个数, 避免应用方法数超过 65K 问题
79 | [AndroidLocalizationer](https://github.com/westlinkin/AndroidLocalizationer) | 可用于将项目中的 string 资源自动翻译为其他语言的插件, 其翻译支持使用 Microsoft Translator 或 Google Translation
80 | [ButterKnife Zelezny](https://github.com/avast/android-butterknife-zelezny) | ButterKnife 生成器, 使用起来非常简单方便, 为你简写了很多 findViewId 代码, 如果你不了解 ButterKnife 的可以到[这里](http://stormzhang.com/openandroid/android/2014/01/12/android-butterknife/)看看
81 | [SelectorChapek](https://github.com/inmite/android-selector-chapek) | 设计师给我们提供好了各种资源, 每个按钮都要写一个selector是不是很麻烦? 这么这个插件就为解决这个问题而生, 你只需要做的是告诉设计师们按照规范命名就好了, 其他一键搞定
82 | [GsonFormat](https://github.com/zzz40500/GsonFormat) | 现在大多数服务端 api 都以 json 数据格式返回, 而客户端需要根据 api 接口生成相应的实体类, 这个插件把这个过程自动化了, 赶紧使用起来吧
83 | [ParcelableGenerator](https://github.com/mcharmas/android-parcelable-intellij-plugin) | Android中的序列化有两种方式, 分别是实现 Serializable 接口和 Parcelable 接口, 但在 Android 中是推荐使用 Parcelable, 只不过我们这种方式要比Serializable方式要繁琐, 那么有了这个插件一切就ok了
84 | [LeakCanary](https://github.com/square/leakcanary) | 良心企业 Square 最近刚开源的一个非常有用的工具, 强烈推荐, 帮助你在开发阶段方便的检测出内存泄露的问题, 使用起来更简单方便, 而且我们团队第一时间使用帮助我们发现了不少问题, 英文不好的这里有雷锋同志翻译的中文版 [LeakCanary 中文使用说明](http://www.liaohuqiu.net/cn/posts/leak-canary-read-me/)
85 | [更多](https://ydmmocoo.github.io/2016/06/28/Android-Studio%E6%8F%92%E4%BB%B6%E6%95%B4%E7%90%86/) | 该作者收集整理了 40 个插件, 可以说是史上最全的了
86 |
87 |
88 | ## 博客
89 |
90 | 博客地址 | 博主信息
91 | -------- | --------
92 | [Android Developers Blog](http://android-developers.blogspot.com/) | Android官网博客, 在上面可以关注 Android 最新的进展与最权威的博客(需翻墙)
93 | [stormzhang](http://stormzhang.com/) | 博主是上海薄荷科技开发主管, 他的博客分享了他从编程白痴到自学 Android 一路走过的经验, 写了一篇 [Android学习之路](http://stormzhang.com/android/2014/07/07/learn-android-from-rookie/) 帮助了无数人, 里面还有很多好的文章非常适合新手入门, 并且是微信公众号「AndroidDeveloper」的运营者, 可以算是 Android 界最有影响力的公众号之一了, 强烈推荐关注
94 | [胡凯](http://hukai.me/) | 目前就职于腾讯上海从事 Android 开发的工作, 发起 Google Android 官方培训课程中文版翻译, 这课程是学习 Android 应用开发的绝佳资料
95 | [Trinea](http://www.trinea.cn/) | 目前在滴滴负责 Android 客户端技术, 他是开源库项目收集达人, 你想要的开源库[上面](https://github.com/Trinea)都有, 并且发起 Android 开源项目源码解析, 在使用开源库的同时也可以知道其中原理, 大家可以去关注一下, [地址](http://p.codekk.com)
96 | [郭霖](http://blog.csdn.net/guolin_blog) | 博主郭霖是大神, 人人都称"郭神", 是第一行代码的作者, 博主在 CSDN 上所写的文章都非常值得学习
97 | [代码家](http://blog.daimajia.com/) | 90后 Android 大神, 称作库达人, 博主收集了很多 Android 开源库, 博主自己也做了很多开源库, 非常值得学习
98 | [light_sky](http://www.lightskystreet.com/) | Android 开发工程师, 目前在北京工作. Google big fan, 热爱开源, 热爱分享, 活跃于 GitHub, G+, Twitter, 捕捉Android最新资讯和技术, ViewPagerIndicator 开源项目分析者
99 | [张鸿洋](http://blog.csdn.net/lmj623565791/) | 张鴻洋是 CSDN 博客专家, 博主在 CSDN 所发布的每一篇文章都是干货, 都很值得大家去学习
100 | [张兴业](http://blog.csdn.net/xyz_lmn) | 张兴业同样也是 CSDN 博客专家, 博主专注移动互联网开发, 关注移动支付业务
101 | [hi大头鬼hi](http://blog.csdn.net/lzyzsd/) | hi大头鬼hi 是阿里巴巴集团的一名 Android 工程师, 擅长 Android, RxJava, RxAndroid, ReactNative, Node.js, 大前端, 可谓是全栈工程师, 如果你对 RxJava 技术感兴趣, 不妨到他的博客看看, 他写了一系列有关 RxJava 的介绍
102 | [更多](https://github.com/android-cn/android-dev-cn) | 这里面收集了很多国内外开发者的信息, 大家可以去看看
103 |
104 | ## 社区
105 |
106 | 名称 | 简介
107 | ---- | ----
108 | [StackOverFlow](http://stackoverflow.com/) | IT 界的问答社区, 你开发当中所遇到的问题基本上都能在这里能寻找到你想要的答案
109 | [SegmentFault](https://segmentfault.com/t/android) | SegmentFault 是一个专注于解决编程问题, 提高开发技能的社区
110 | [CSDN](http://blog.csdn.net/mobile/newest.html) | CSDN 是全球最大中文IT技术社区
111 | [稀土掘金](http://gold.xitu.io/explore/android) | 高质量的技术分享社区
112 | [谷歌开发者社区(GDG)](http://chinagdg.org/) | GDG 是 Google Developer Groups 的缩写, 中文名称是谷歌开发者社区
113 |
114 | ## 开源项目学习
115 |
116 | 项目名称 | 项目简介
117 | -------- | --------
118 | [Google I/O 2014](https://github.com/google/iosched) | Google I/O Android App 使用了当时最新推出的 Material Design 设计
119 | [Google play music](https://github.com/googlesamples/android-UniversalMusicPlayer) | 一个跨多个平台音乐播放器
120 | [Google Santa Tracker for Android](https://github.com/google/santa-tracker-android?utm_source=www.race604.com) | Google 开源的一个儿童教育和娱乐的 App
121 | [github客户端](https://github.com/pockethub/PocketHub) | 开源者 github 团队, 支持项目的 lssues 和 Gists 并集成了新闻 feed 以便及时获取来自组织好友和资料库的更新信息, 还提供了一个用于快速访问你创建,监控以及发布 issue 面板, 可查看并将问题加到收藏夹
122 | [Talon-for-Twitter](https://github.com/klinker24/Talon-for-Twitter) | 一个完整版 Twitter 第三方客户端, 属于顶级水平, 而且在源代码 100% 开源, 学习资源让你取之不尽
123 | [Anime Taste](https://github.com/daimajia/AnimeTaste) | 开发者是代码家为 AnimeTaste 全球动画精选开发的 Android 客户端, 国内很少见的精彩而且开源的 APP, 获得豌豆荚110期设计奖
124 | [EverMemo](https://github.com/daimajia/EverMemo) | 开发者是代码家, EverMemo 是一款让你快速记录与分享灵感的随身便签, 极简的界面与卡片式布局, 让你记录与查找便签更有效率
125 | [9GAG](https://github.com/stormzhang/9GAG) | 开发者是 stormzhang 博主,这个开源项目教你使用 Studio, Gradle 以及一些流行的开源库快速开发一个不错的 Android 客户端
126 | [MIUI 便签](https://github.com/MiCode/Notes) | MiCode 便签是小米便签的社区开源版, 由 MIUI 团队(ww.miui.com)发起并贡献第一批代码, 遵循 NOTICE 文件所描述的开源协议
127 | [贝壳单词](https://github.com/drakeet/Seashell-app) | 开发者是许晓峰(Drakeet), 获得豌豆荚设计奖, 这个是初期版本, 新版没有开源, 但是在博主的博客当中将一些新版的内容都剥离出来写成了文章,可以去学习一下
128 | [Muzei Live Wallpaper](https://github.com/romannurik/muzei) | 开发者是 Ian Lake , 就职于 Google, 这款是定时更换桌面精美壁纸 App
129 | [四次元-新浪微博客户端](https://github.com/qii/weiciyuan) | 一个仿新浪微博客户端 App, 基本都含有新浪微博的功能, 开源团队写了一份 wiki 文档, 可以去学习一下该 App 是如何实现的
130 | [知乎专栏](https://github.com/bxbxbai/ZhuanLan) | 开发者是白瓦力, 项目结构清晰, 代码分包合理, 很棒. 很适合新手去学习如何搭建一个 App 结构, 熟悉开发一个完整 App 的流程
131 | [eoe 客户端](https://github.com/eoecn/android-app) | eoe 社区Android客户端
132 | [oschina](http://git.oschina.net/oschina/android-app) | 开源中国社区 Android 客户端, 此开源的是 v1 版本, v2 版本将在 2015 年年中开源
133 | [v2ex](https://github.com/kyze8439690/v2ex-daily-android) | 开发者是[杨辉](http://yanghui.name/about/), 这个是 v2ex Android 第三方客户端
134 | [Tweet Lanes](https://github.com/chrislacy/TweetLanes) | 功能比较完整的 Twitter 客户端
135 | [Financius](https://github.com/mvarnagiris/financius-public) | 一款简单易用个人理财 Android 程序
136 | [Coding](https://coding.net/u/coding/p/Coding-Android/git) | Coding 类似于 github 一个代码托管平台, 这个是 Coding 的 Android 版客户端
137 | [ZXing](https://github.com/zxing/zxing) | 二维码扫描工具,市场上许多应用的二维码扫描工具都是从这个修改得到的
138 | [photup](https://github.com/chrisbanes/photup) | 编辑机批量上传照片到 facebook 上,代码分包合理,很棒,不过这个项目依赖的开源项目比较多, 比较难编译
139 | [todo.txt-android](https://github.com/ginatrapani/todo.txt-android) | todo.txt 官方 Android 应用, 一个极简的将待办事件记录在 .txt 文件中
140 | [扫扫图书](https://github.com/JayFang1993/ScanBook) | 一个让你懂得如何去选择一本书的 APP, 具有扫描搜索查询图书的信息功能
141 | [ChaseWhisplyProject](https://github.com/tvbarthel/ChaseWhisplyProject) | 开启摄像头在你所在位置寻找鬼魂, 进行打鬼游戏
142 | [AntennaPod](https://github.com/AntennaPod/AntennaPod) | AntennaPod 是一个自由, 开源的播客客户端, 支持 Atom 和 RSS Feed
143 | [干柴](https://github.com/openproject/AndroidDigest) | 开发者是冯建, 一个专注收集 android 相关干货(文摘,名博,github等等)资源 App
144 | [Hacker News](https://github.com/manmal/hn-android) | 一个查看黑客新闻报道和评论的 App
145 | [proxydroid](https://github.com/madeye/proxydroid) | ProxyDroid 是一个帮助你在你的 Android 设备上设置代理 (HTTP / SOCKS4 / SOCKS5)
146 | [AliGesture](https://git.oschina.net/way/AliGesture) | Android平台手势识别应用, 简单的手势就可以进入预置的应用, 方便快捷
147 | [指读](https://coding.net/u/youzi/p/Zhidu-Android/git/tree/master) | 指读顾名思义就是用手指去阅读浩瀚的书海
148 | [KJ 音乐](https://github.com/KJFrame/KJMusic) | 开发者是[张涛](http://blog.kymjs.com/about/), 快捷音乐使用到[KJFrameForAndroid](https://github.com/kymjs/KJFrameForAndroid)开发框架, 拥有界面绚丽, 操作简单, 播放手机本地音乐, 在线收听音乐等功能, 还支持: 新浪微博, 百度账号, QQ 账号的一键登录
149 | [哎嘛](http://git.oschina.net/tonlin/android-app) | OSCHINA 第三方客户端, 这个版本界面比官方版本界面好看多了, 使用的是 Material Design, 界面看上去非常清爽舒服
150 | [码厩](http://git.oschina.net/wlemuel/Cotable/tree/master/) | 博客园第三方客户端, 使用到缓存技术, 当你打开一次之后的博客内容, 会自动保存到设备中, 下次打开阅读同一文章时不需要再利用网络加载, 大家如果想为自己 App 搞缓存的, 可以研究一下该 App 是如何实现的喔
151 | [cnBeta 第三方阅读器](http://git.oschina.net/ywwxhz/cnBeta-reader) | 该 App 是 cnBeta(中文业界资讯站) 第三方阅读客户端, 界面也是使用 Material Design, 还加上一些动画效果, 让人阅读文章起来不会感觉枯燥, 值得去研究学习一下
152 | [BlackLight](https://github.com/PaperAirplane-Dev-Team/BlackLight) | BlackLight是由纸飞机开发团队开发的一款Android上的新浪微博第三方轻量级客户端
153 | [Actor](https://github.com/actorapp/actor-platform) | Actor(优聆) 是一款即时通讯 App, 解决网络通讯差的情况, 支持离线消息和文件存储, 自动与手机联系人建立联系等等
154 | [Plaid](https://github.com/nickbutcher/plaid) | 一个遵循 Material Design 的一个设计新闻客户端,里面的一些完全MD的一些特效很棒,同时整个客户端的框架设计也很有参考意义
155 | [SimplifyReader](https://github.com/SkillCollege/SimplifyReader) | 一款基于 Google Material Design 设计开发的 Android 客户端, 包括新闻简读, 图片浏览, 视频爽看, 音乐轻听以及二维码扫描五个子模块, 项目采取的是MVP架构开发
156 | [PHPHub-Android](https://github.com/CycloneAxe/phphub-android) | PHPHub Android 客户端, 项目架构使用 nucleus 简化 MVP 架构, API 请求返回数据使用 RxJava 进行处理, 客户端使用了独特的二维码扫码登录, 有兴趣的可以去研究一下
157 | [Leisure](https://github.com/MummyDing/Leisure) | 闲暇(Leisure)是一款集"知乎日报", "果壳科学人", "新华网新闻"以及"豆瓣图书"于一体的阅读类 Android 应用, 项目里面有多语言切换、夜间模式以及无图模式, 如果你还不知道这些技术怎么实现, 不妨参考一下这个项目
158 | [Meizhi](https://github.com/drakeet/Meizhi) | 开发者是许晓峰(Drakeet), 该 app 是数据来自代码家干货网站 [gank.io](http://gank.io), 有很多开发者都纷纷为这网站做客户端 app, 因为代码家大神开放该网站的 Api, 更重要的是该网站每天除了有干货还有漂亮妹子看呢, 该 App 使用到的技术有 RxJava + Retrofit, 代码结构非常清晰, 值得一看的开源 App.
159 | [Bingo](https://github.com/sfsheng0322/Bingo) | 开发者是[孙福生](http://weibo.com/u/3852192525), Bingo 是一款 IT 阅读学习类的开源软件, 作者收集一些干货学习内容, 你也可以在 App 上分享你的认为干货文章, 该项目使用动态代理 AOP 编程框架, 使开发起来更简洁, 更高效. 里面有一个功能就是多种主题切换, 感兴趣的可以看看怎么实现
160 |
161 | ## Android 开发者杂志周刊
162 |
163 | ( 前五个资料来自 [Drakeet](http://drakeet.me/) 收集整理的, 资料原链接 [地址](http://www.jianshu.com/p/54c4a19ffa68) )
164 |
165 | 周刊名 | 周刊简介
166 | ------ | -------
167 | [Android Weekly](http://androidweekly.net/) | Android Weekly 是由Android 团队的成员和国外知名的 Android 开发者维护, 分享的内容不仅仅只有干货, 而且还有最新的技术分享, 也是Android 开发圈子最早, 最有名的周报
168 | [Android 开发技术周报](http://www.androidweekly.cn/) | Android 开发技术周报是由[@脉脉不嘚語](http://weibo.com/234959219) 维护更新, 截止到现在, 已经发布了28 期, 分享的都是高质量的文章教程, 代码库, 工具, 新闻视频, 设计等
169 | [Android 科学院](http://zhuanlan.zhihu.com/andlib) | 由 [@duguguiyu](http://weibo.com/duguguiyu?from=feed&loc=at&nick=duguguiyu)和豌豆荚一小撮工程师组成, 分享的都是最新的 Android 技术: 虽然更新频率不是很高, 但是质量确是很高的, 值得一看的
170 | [开发技术前线](http://www.devtf.cn/?cat=2) | 开发技术前线是一个高质量技术文章的聚合网站, 主要分享 Android, iOS, 以及招聘等内容
171 | [App 开发日报](http://app.memect.com/) | App 开发日报主要关注移动应用的开发, 它每天一刊, 分享的内容主要来自微博上知名的开发者推荐的内容, 因此质量基本上是有保证的
172 | [Android 开发周报](http://www.infoq.com/cn/author/%E9%83%AD%E4%BA%AE) | Android 开发周报是郭亮在连载更新在 Infoq 的周刊, 它不仅分享 Android 的相关新闻, 新工具, 而且还有更加深入的, 所以对于新生老人都很适合
173 | [干货集中营](http://gank.io/) | 由 [代码家](http://blog.daimajia.com/) 维护更新, 周一到周五每天中午分享, 分享内容有漂亮妹子, Android 干货, iOS 干货, App, 技术以外推荐, 还有休息视频
174 | [Android Blog 周刊](http://www.androidblog.cn/) | AndroidBlog 是由 [Jomeslu](http://weibo.com/u/2106134235?refer_flag=1001030201_&is_hot=1) 收录的, 目前就职于搜狐, 该周刊分享内容主要有一周国内外热门技术博客, 优秀的类库, 以及一些有趣的新闻, 看了前几期分享的内容质量都是很高的, 因此值得推荐给大家
175 |
176 | ## Awesome 系列
177 |
178 | - [awesome android(1)](https://github.com/snowdream/awesome-android)
179 | - [awesome_android(2)](https://github.com/JStumpp/awesome-android)
180 | - [awesome_android_UI](https://github.com/wasabeef/awesome-android-ui)
181 | - [awesome_android_libraries](https://github.com/wasabeef/awesome-android-libraries)
182 | - [awesome_java](https://github.com/akullpp/awesome-java)
183 | - [awesome_materialdesign](https://github.com/lightSky/Awesome-MaterialDesign)
184 | - [awesome 系列之终极版](https://github.com/sindresorhus/awesome)
185 | - [android-dynamic-load-awesome](https://github.com/liaohuqiu/android-dynamic-load-awesome)
186 | - [awesome-adb](https://github.com/mzlogin/awesome-adb)
187 |
188 | ## 动画系列
189 | - [animate](https://github.com/hitherejoe/animate)
190 | - [awesome-animation](https://github.com/Animatious/awesome-animation)
191 | - [Material-Animations](https://github.com/lgvalle/Material-Animations)
192 | - [AndroidViewAnimations](https://github.com/daimajia/AndroidViewAnimations)
193 |
194 | ## Material Design 设计
195 |
196 | - [Material Design 教程](https://www.google.com/design/spec/material-design/introduction.html)
197 | - [Material Design 教程(中文版)](https://github.com/1sters/material_design_zh_2)
198 | - [Material Design Android Library ](https://github.com/navasmdc/MaterialDesignLibrary)(Material Design 开源库, 很多效果可以直接拿来用)
199 | - [十大Material Design开源项目](http://www.csdn.net/article/2014-11-21/2822753-material-design-libs)
200 |
201 | ## 素材
202 |
203 | - [常用色彩搭配表](http://tool.c7sky.com/webcolor/)
204 | - [ColorHunt-色彩搭配](http://www.colorhunt.co/)
205 | - [在线 Material Design 界面调色板](http://www.materialpalette.com/)
206 | - [Material Design设计模板与素材](http://www.materialup.com/)
207 | - [Icons8](https://icons8.com/)
208 | - [Icon Store](https://iconstore.co/)
209 | - [Material icons](https://design.google.com/icons/)
210 | - [Iconfont](http://iconfont.cn/)
211 | - [awesome-design](https://github.com/gztchan/awesome-design/)
212 |
213 | ## 开源库收集
214 |
215 | - [Android Libraries and Resources ](http://alamkanak.github.io/android-libraries-and-resources/)
216 | - [Android Arsenal ](http://android-arsenal.com/)(一个专门收集 android 开源库的网站, 网站经常更新)
217 | - [Android 开源项目汇总 ](https://github.com/Trinea/android-open-project)(Trinea 大神收集的)
218 | - [Android 开源项目源码分析 ](http://codekk.com/open-source-project-analysis)(在懂得使用这些开源项目同时, 也应该了解当中的原理)
219 | - [泡在网上的日子](http://www.jcodecraeer.com/plus/list.php?tid=31)
220 | - [android-gems](http://www.android-gems.com/)(国内外很多开发者都在这里上传他们最新的项目, 还带有 apk 下载)
221 |
222 | ## 设计模式
223 |
224 | - [java-design-patterns](https://github.com/iluwatar/java-design-patterns#model-view-presenter)
225 | - [Android源码设计模式分析项目](https://github.com/simple-android-framework-exchange/android_design_patterns_analysis)
226 | - [Java之美[从菜鸟到高手演变]之设计模式](http://blog.csdn.net/zhangerqing/article/details/8194653)
227 |
228 | ## 实践篇
229 |
230 | - [Android Studio 小技巧合集](http://jaeger.itscoder.com/android/2016/02/14/android-studio-tips.html)
231 | - [Android 开发最佳实践](https://github.com/futurice/android-best-practices/blob/master/translations/Chinese/README.cn.md)
232 | - [Android 开发最佳实践 ](http://hukai.me/android-dev-patterns/)(来自[胡凯](http://hukai.me/)总结)
233 | - [Android 最佳实践之 UI 篇](http://sr1.me/way-to-explore/2015/03/25/best-practice-for-android-ui.html)
234 | - [Android 屏幕适配全攻略](http://blog.csdn.net/zhaokaiqiang1992/article/details/45419023)
235 | - [给半新人的app开发指南](http://www.hamberluo.cn/2015/04/27/semi-android-newer)
236 | - [Android 一些重要知识点解析整理](https://github.com/FX-Max/Point-of-Android)
237 | - [Android 开发人员应避免的 10 个误区](http://www.imooc.com/article/1287)
238 | - [Java 反射最佳实践](https://github.com/tianzhijiexian/Android-Best-Practices/blob/master/2015.9/reflect/reflect.md)
239 | - [Android 内存优化之 OOM](http://www.csdn.net/article/2015-09-18/2825737/1)
240 | - [Android 命名规范](http://blog.csdn.net/vipzjyno1/article/details/23542617)
241 | - [Adapter 优化方案的探索](https://github.com/tianzhijiexian/Android-Best-Practices/blob/master/2015.10/adapter/adapter.md)
242 | - [Android-Tips](https://github.com/tangqi92/Android-Tips)
243 | - [最全 Android ADB Shell](http://adbshell.com/)
244 | - [AndroidNote](https://github.com/CharonChui/AndroidNote)
245 | - [Android 常用工具类](https://github.com/l123456789jy/Lazy)
246 | - [创建安卓 app 的 30 个经验教训](http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0218/3978.html)
247 | - [Android 三大图片缓存原理、特性对比](http://www.trinea.cn/android/android-image-cache-compare/)
248 | - [Android 性能优化总结](http://www.trinea.cn/android/performance/)
249 | - [Android 实用代码片段整合 ](http://www.eoeandroid.com/thread-570919-1-1.html)
250 | - [36 个 Android 开发常用代码片段](http://www.phpxs.com/code/1001775)
251 | - [收集了大家常用的一些 Android 的模板代码](https://github.com/jiang111/awesome-android-tips)
252 | - [Android 技术积累: 开发规范](http://keeganlee.me/post/android/20150709)
253 | - [App 架构设计经验谈](http://keeganlee.me/post/architecture/20160114)
254 | - [关于 Android 开发的 40 条优化建议](http://blog.csdn.net/yyh352091626/article/details/50957851)
255 | - [如何提高安卓代码的质量和语法](http://gold.xitu.io/entry/56cd6ebb99a6ce005a2887e3)
256 | - [我的 Android 开发实战经验总结](http://www.jianshu.com/p/4f152bc8f4f3)
257 | - [Android Tips 系列](http://www.wangchenlong.org/2016/02/23/tips/1603/231-android-tips-1/)
258 | - [如何自学 Android](http://www.jianshu.com/p/28111d29eee4)
259 | - [你所不知道的Android Studio调试技巧](http://www.jianshu.com/p/011eb88f4e0d)
260 |
261 | ## 面试
262 |
263 | - [80% 以上简历都是不合格的](http://j.codekk.com/blogs/detail/5705bcdf4a38205862ef4770)
264 | - [推荐两个技术简历模板](http://j.codekk.com/blogs/detail/5705bcdf4a38205862ef476f)
265 | - [关于程序员求职简历](https://mdluo.github.io/blog/about-resume/)
266 | - [国内一线互联网公司内部面试题库](https://github.com/JackyAndroid/AndroidInterview-Q-A)
267 | - [LearningNotes](https://github.com/GeniusVJR/LearningNotes) (非常详细的面试资料, 涉及 Android, Java, 设计模式, 算法等)
268 | - [Android 面试那些事儿](https://zhuanlan.zhihu.com/p/21565914)
269 | - [精益技术简历之道——改善技术简历的47条原则](http://lucida.me/blog/lean-technical-resume/)
270 | - [史上最全 Android 面试资料集合](http://www.jianshu.com/p/d1efe2f31b6d)
271 |
272 | ## Git 教程
273 |
274 | 新手看完这几份教程基本上知道怎么使用 Git 了
275 |
276 | - [GitHub 团队美女写的一套 Git 使用教程](http://jlord.us/git-it/challenges/get_git.html)
277 | - [ProGit 中文版](https://git-scm.com/book/zh/v2)
278 | - [廖雪峰的 Git 教程](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)
279 | - [Git 简易指南](http://rogerdudler.github.io/git-guide/index.zh.html)
280 | - [git-tips](https://github.com/git-tips/tips)(Git 命令集合)
281 |
282 | ## 文档
283 |
284 | - [Android 官方 API 文档](http://developer.android.com/reference/android/package-summary.html)(网站需要翻墙,不翻墙可以[下载](http://pan.baidu.com/s/1dDu3LVb)离线文件)
285 | - [Android 官方培训课程中文版](http://hukai.me/android-training-course-in-chinese/index.html)(由胡凯发起对 Google Android 官方培训课程翻译的中文版)
286 |
287 | ## 其它资料收集
288 |
289 | - [10 个很棒的学习 Android 开发的网站](http://www.eoeandroid.com/forum.php?mod=viewthread&tid=571335&highlight=10%E4%B8%AA%E5%BE%88%E6%A3%92)
290 | - [Android 开发, 你应该知道的学习资源](http://android.jobbole.com/80815/)
291 | - [AndroidCat 安卓书签网](https://github.com/ColorfulCat/AndroidGuide)
292 | - [每个 Android 开发者都应该了解的资源列表](http://www.jianshu.com/p/e961f1633d7a)
293 | - [Android 开发者网址导航](http://www.jianshu.com/p/54902270249d)
294 | - [Android 开发收藏夹](https://github.com/ruijun/Android-Dev-Favorites)
295 | - [TimLiu-Android](https://github.com/Tim9Liu9/TimLiu-Android)(TimLiu 总结的 Android 开源项目及库)
296 | - [AndroidTips](https://github.com/JohnTsaiAndroid/AndroidTips)
297 | - [Android 开发人员不得不收集的代码](https://github.com/Blankj/AndroidUtilCode)
298 | - [Android 架构合集](https://github.com/Juude/Awesome-Android-Architecture)
299 | - [AndroidArchitectureCollection](https://github.com/CameloeAnthony/AndroidArchitectureCollection)
300 | - [Android 开发中的日常积累](https://github.com/lizhangqu/CoreLink)
301 | - [2016安卓开发资料大全](http://blog.chengyunfeng.com/?p=1020)
302 |
303 | ## 知乎上的讨论
304 |
305 | - [有哪些 Android 大牛的 blog 值得推荐?](http://www.zhihu.com/question/19775981)
306 | - [GitHub 上都有哪些值得关注学习的 Android项目?](http://www.zhihu.com/question/23804819)
307 | - [GitHub 上有哪些适合新人围观的 Android 项目?](https://www.zhihu.com/question/28481864)
308 | - [2015 年移动设备界面设计有哪些趋势?](http://www.zhihu.com/question/28841081)
309 | - [Android开发中, 有哪些让你觉得相见恨晚的方法,类或接口?](http://www.zhihu.com/question/33636939)
310 | - [Android Studio有哪些非常好用的插件?](https://www.zhihu.com/question/28527388)
311 | - [Android 开发有哪些新技术出现?](https://www.zhihu.com/question/32037895)
312 | - [有哪些优秀的 Android 应用开源项目, 特效, 设计资料推荐?](https://www.zhihu.com/question/19804692)
313 | - [有没有适合 Android 开发初学者的 App 源码推荐?](https://www.zhihu.com/question/26687642)
314 | - [Android有什么好的技术点适合进行技术分享?](https://www.zhihu.com/question/29939631)
315 | - [Android Studio有什么奇技淫巧?](https://www.zhihu.com/question/27482725)
316 | - [Android 开发: 开始一个项目前, 做好哪些准备可以事半功倍?](https://www.zhihu.com/question/37433825)
317 | - [大家有哪些好的 Android 开发习惯?](https://www.zhihu.com/question/27227425)
318 | - [Android 开发有什么好的架构么?](https://www.zhihu.com/question/21406685)
319 |
320 | ## 贡献者
321 |
322 | 点击[该链接](https://github.com/Freelander/Android_Data/graphs/contributors)查看该项目所有贡献者
323 |
324 | ## License
325 |
326 | 以上内容采用 [CC BY-NC-SA 3.0](http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh) 进行许可, 转载请注明出处, 版权归本人及所有贡献者所有
327 |
--------------------------------------------------------------------------------
/fake_land/LogUtils.java:
--------------------------------------------------------------------------------
1 | package com.chengxinet.bobo.utils;
2 |
3 | import android.util.Log;
4 |
5 | import com.orhanobut.logger.Logger;
6 |
7 | /**
8 | * Description : 日子工具类
9 | * Author : Jun
10 | */
11 | public class LogUtils {
12 | public static final boolean DEBUG = true;
13 |
14 | public static void v(String tag, String message) {
15 | if(DEBUG) {
16 | Log.v(tag, message);
17 | }
18 | }
19 |
20 | public static void d(String tag, String message) {
21 | if(DEBUG) {
22 | Log.d(tag, message);
23 | }
24 | }
25 |
26 | public static void i(String tag, String message) {
27 | if(DEBUG) {
28 | Log.i(tag, message);
29 | }
30 | }
31 |
32 | public static void w(String tag, String message) {
33 | if(DEBUG) {
34 | Log.w(tag, message);
35 | }
36 | }
37 |
38 | public static void e(String tag, String message) {
39 | if(DEBUG) {
40 | Log.e(tag, message);
41 | }
42 | }
43 |
44 | public static void e(String tag, String message, Exception e) {
45 | if(DEBUG) {
46 | Log.e(tag, message, e);
47 | }
48 | }
49 |
50 |
51 | /**
52 | * 使用 Logger 工具
53 | */
54 |
55 | public static void logv(String tag, String message) {
56 | if (DEBUG) {
57 | Logger.init(tag);
58 | Logger.v(message);
59 | }
60 | }
61 |
62 | public static void logd(String tag, String message) {
63 | if(DEBUG) {
64 | Logger.init(tag);
65 | Logger.d(message);
66 | }
67 | }
68 |
69 | public static void logi(String tag, String message) {
70 | if(DEBUG) {
71 | Logger.init(tag);
72 | Logger.i(message);
73 | }
74 | }
75 |
76 | public static void logw(String tag, String message) {
77 | if(DEBUG) {
78 | Logger.init(tag);
79 | Logger.w(message);
80 | }
81 | }
82 |
83 | public static void loge(String tag, String message) {
84 | if(DEBUG) {
85 | Logger.init(tag);
86 | Logger.e(message);
87 | }
88 | }
89 |
90 | public static void loge(String tag, String message, Exception e) {
91 | if(DEBUG) {
92 | Logger.init(tag);
93 | Logger.e(message, e);
94 | }
95 | }
96 |
97 | public static void logJ(String tag, String message) {
98 | if (DEBUG) {
99 | Logger.init(tag);
100 | Logger.json(message);
101 | }
102 | }
103 | }
--------------------------------------------------------------------------------
/fake_land/NetworkUtils.java:
--------------------------------------------------------------------------------
1 | package com.chengxinet.bobo.utils;
2 |
3 | import android.content.Context;
4 | import android.net.ConnectivityManager;
5 | import android.net.NetworkInfo;
6 | import android.telephony.TelephonyManager;
7 |
8 | /**
9 | * Created by Administrator on 2016/1/7.
10 | */
11 | public class NetworkUtils {
12 | public static boolean isNetworkAvailable(Context c) {
13 | Context context = c.getApplicationContext();
14 | // 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
15 | ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
16 |
17 | if (connectivityManager == null) {
18 | return false;
19 | } else {
20 | // 获取NetworkInfo对象
21 | NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
22 |
23 | if (networkInfo != null && networkInfo.length > 0) {
24 | for (NetworkInfo aNetworkInfo : networkInfo) {
25 | // System.out.println(i + "===状态===" + networkInfo[i].getState());
26 | // System.out.println(i + "===类型===" + networkInfo[i].getTypeName());
27 | // 判断当前网络状态是否为连接状态
28 | if (aNetworkInfo.getState() == NetworkInfo.State.CONNECTED) {
29 | return true;
30 | }
31 | }
32 | }
33 | }
34 | return false;
35 | }
36 |
37 | /**
38 | * 判断WIFI是否打开
39 | * @param context
40 | * @return
41 | */
42 | public static boolean isWifiEnabled(Context context) {
43 | ConnectivityManager mgrConn = (ConnectivityManager) context
44 | .getSystemService(Context.CONNECTIVITY_SERVICE);
45 | TelephonyManager mgrTel = (TelephonyManager) context
46 | .getSystemService(Context.TELEPHONY_SERVICE);
47 | return ((mgrConn.getActiveNetworkInfo() != null && mgrConn
48 | .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel
49 | .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);
50 | }
51 |
52 | /**
53 | * 判断是否是3G网络
54 | * @param context
55 | * @return
56 | */
57 | public static boolean is3rd(Context context) {
58 | ConnectivityManager cm = (ConnectivityManager) context
59 | .getSystemService(Context.CONNECTIVITY_SERVICE);
60 | NetworkInfo networkINfo = cm.getActiveNetworkInfo();
61 | if (networkINfo != null
62 | && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {
63 | return true;
64 | }
65 | return false;
66 | }
67 |
68 | /**
69 | * 判断是wifi还是3g网络
70 | * @param context
71 | * @return
72 | */
73 | public static boolean isWifi(Context context) {
74 | ConnectivityManager cm = (ConnectivityManager) context
75 | .getSystemService(Context.CONNECTIVITY_SERVICE);
76 | NetworkInfo networkINfo = cm.getActiveNetworkInfo();
77 | if (networkINfo != null
78 | && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {
79 | return true;
80 | }
81 | return false;
82 | }
83 | }
84 |
--------------------------------------------------------------------------------