这篇收集Android开发常用技术

谈谈MVP架构

  • 浅谈 MVP in Android --推荐
  • 不要再给MVP中Presenter写接口了
  • T-MVP:泛型深度解耦下的MVP大瘦身
  • Android框架模式(1)-MVP入门

Android日志

  • Log最佳实践

OkHttp

  • OkHttp使用
    • Android OkHttp完全解析 是时候来了解OkHttp了 --推荐
    • Android Https相关完全解析 当OkHttp遇到Https --推荐
    • OkHttp学习系列一:入门和简单使用
    • OkHttp学习系列二:谈谈Android中使用的坑
    • OkHttp3之Cookies管理及持久化
    • OkHttpUtils一个专注于让网络请求更简单的框架
  • OkHttp3源码分析
    • OkHttp3源码分析[综述]
    • OkHttp3源码分析[复用连接池]
    • OkHttp3源码分析[缓存策略]
    • OkHttp3源码分析[DiskLruCache]
    • OkHttp3源码分析[任务队列]
    • OKHttp源码解析

Retrofit2

  • Retrofit2 完全解析 探索与okhttp之间的关系 ---推荐
  • 深入浅出 Retrofit,这么牛逼的框架你们还不来看看?
  • Retrofit + RxAndroid 实践总结
  • Android Retrofit 2.0 使用-补充篇
  • Android上使用retrofit+okhttp时token失效的处理方案

Rxjava

  • Rxjava中文文档
    • ReactiveX/RxJava文档中文版---推荐
  • 基础教程
    • 给 Android 开发者的 RxJava 详解 ---强烈推荐 扔物线的文章 讲解非常详细
    • NotRxJava懒人专用指南 -这篇入门极力推荐,手把手,深入浅出教你实现一个简易的RxJava库,更好的理解RxJava的实现思路
  • Rxjava操作符
    • RxJava操作符(一)Creating Observables
    • RxJava操作符(二)Transforming Observables
    • RxJava操作符(三)Filtering
    • RxJava操作符(四)Combining
    • RxJava操作符(五)Error Handling
    • RxJava操作符(六)Utility
    • RxJava操作符(七)Conditional and Boolean
    • RxJava操作符(八)Aggregate
    • RxJava操作符(九)Connectable Observable Operators
    • RxJava操作符(十)自定义操作符
  • 其它一些不错的介绍操作符的文章

    • 行云流水的博客
    • Android RxJava使用介绍(二) RxJava的操作符
  • 深入浅出RxJava系列:
    • 深入浅出RxJava(一:基础篇)
    • 深入浅出RxJava ( 二:操作符 )
    • 深入浅出RxJava ( 三--响应式的好处 )
    • 深入浅出RxJava ( 四-在Android中使用响应式编程 )
  • Rxjava的总结
    • RxJava 的周末狂欢
    • 可能是东半球最全的RxJava使用场景小结
    • RxJava+Retrofit实现全局过期token自动刷新Demo篇
  • 来自 小鄧子 的几篇文章
    • 【译】避免打断链式结构:使用.compose( )操作符
    • 【译】使用RxJava实现延迟订阅
    • 【译】使用RxJava从多个数据源获取数据
    • 【译】RxJava变换操作符:.concatMap( )与.flatMap( )的比较
    • 【译】对RxJava中.repeatWhen()和.retryWhen()操作符的思考
  • Rxjava处理服务器端异常
    • 使用RxJava优雅的处理服务器返回异常

Retrofit2+Rxjava+dagger2

  • RxJava 与 Retrofit 结合的最佳实践
  • Rxjava+Retrofit 实现全局过期 Token 自动刷新
  • 使用Retrofit和Okhttp实现网络缓存。无网读缓存,有网根据过期时间重新请求

ButterKnife

  • 绝对不容错过,ButterKnife使用详谈
  • 深入理解 ButterKnife,让你的程序学会写代码
  • Github项目解析(六)-->自定义实现ButterKnife框架

Dagger2

  • 详解Dagger2系列之开始篇:磨刀不误砍柴工
  • 详解Dagger2系列之撸码篇:横看成岭侧成峰
  • Android:dagger2让你爱不释手-基础依赖注入框架篇

  • Android:dagger2让你爱不释手-重点概念讲解、融合篇

  • Android:dagger2让你爱不释手-终结篇

  • dagger 2 详解

  • Android常用开源工具(1)-Dagger2入门


图片处理框架之Fresco

  • Fresco中文文档 ---推荐
  • Fresco正传(1):总览
  • Fresco正传(2):DraweeView分析
  • Fresco前传(3):之为什么图片不显示(坑爹的wrap_content)
  • Fresco前传(2):源码分析 DraweeHierarchy/DraweeView/DraweeController
  • Fresco前传(1):一句话搞定图片显示(同时还可以满足各种小需求哦)
  • Fresco正传(4):DraweeController分析
  • Fresco正传(5):请求产生和发出请求
  • Fresco正传(6):如何将PhotoView与Fresco的加载机制相结合,解决超大图显示
  • Android图片加载神器之Fresco-加载图片基础[详细图解Fresco的使用]
  • Android图片加载神器之Fresco-圆形圆角二合一教程[Java代码实现圆形圆角效果]
  • Android图片加载神器之Fresco-更灵活的设置加载特效[Java代码实现XML效果]
  • Fresco图片框架内部实现原理探索
  • Fresco 使用要点(不定期更新)
  • Fresco对Listview等快速滑动时停止加载
  • fresco添加http header
  • fresco自定义进度条ProgressBarImage
  • 使用fresco如何获取本地缓存图片的文件
  • fresco如何配合PhotoView使用实现图片缩放
  • fresco 两种判断图片是否已经缓存在SD卡上的方法
  • Fresco引起的在arm64位机器上找不到对应的so库
  • CloseableReference: Finalized without closing
  • fresco 加载本地图片失败

图片处理框架之Glide

  • Glide 系列预览
    1. 开始!
    2. 加载进阶
    3. ListAdapter(ListView, GridView)
    4. 占位符 和 渐现动画
    5. 图片重设大小 和 缩放
    6. 显示 Gif 和 Video
    7. 缓存基础
    8. 请求优先级
    9. 缩略图
    10. 回调:SimpleTarget 和 ViewTarget 用于自定义视图类
    11. 加载图片到通知栏和应用小部件中
    12. 异常:调试和错误处理
    13. 自定义转换
    14. 用 animate() 自定义动画
    15. 集成网络栈
    16. 用 Module 自定义 Glide
    17. Module 实例:接受自签名证书的 HTTPS
    18. Module 实例:自定义缓存
    19. Module 实例:用自定义尺寸优化加载的图片
    20. 动态使用 Model Loader
    21. 如何旋转图像
    22. 系列综述
  • Glide源码解析
    • Android Glide源码解析
  • Glide图片缓存
    • Android图片缓存之初识Glide(三)
    • Android图片缓存之Glide进阶(四)
  • Glide其它文章
    • Glide 展示 gif 动态图的介绍和走过的坑
    • 详细解释强力的图片加载框架 Glide的配置(顺便补充下CollapsingToolbarLayout的一些功能)

GreenDao

需要说明的是GreenDao3与GreenDao的使用最大的区别是GreenDao3支持annotation配置,而使用GreenDao时则需要新建module
  • 【greenDAO3】 项目搭建与增删改查操作
  • Android数据库框架——GreenDao轻量级的对象关系映射框架,永久告别sqlite
  • GreenDao官方文档翻译下
  • GreenDaoUpgradeHelper GreenDao数据库升级

Gson

  • 你真的会用Gson吗?Gson使用指南(一)
  • 你真的会用Gson吗?Gson使用指南(二)
  • 你真的会用Gson吗?Gson使用指南(三)
  • 你真的会用Gson吗?Gson使用指南(四)

MVVM之DataBinding

  • Android-MVVM架构-Data Binding的使用
  • Data Binding(数据绑定)用户指南
  • DBinding权威使用指南
  • DataBinding最佳实践
  • Android中的Data Binding初探 (一)
  • Android中的Data Binding初探 (二)
  • Android中的Data Binding初探 (三)
  • Android Data Binding代码实战

EventBus

  • Android EventBus实战 没听过你就out了
  • Android EventBus源码解析 带你深入理解EventBus
  • Android 框架炼成 教你如何写组件间通信框架EventBus

Android测试

  • 解读Android官方MVP项目单元测试
  • 单元测试利器-Mockito 中文文档
  • 使用Mockito对异步方法进行单元测试
  • Activity单元测试
  • Android 单元测试实践
  • Android测试之旅(一)
  • Android测试之旅(二)
  • Android产品研发(十九)-->Android studio中的单元测试

Android 地图

  • Android高效率编码-第三方SDK详解系列(一)——百度地图,绘制,覆盖物,导航,定位,细腻分解!

图片显示框架综合

  • 随意切换图片框架,Android-Universal-Image-Loader, picasso, glide随意切换

LeafPic

(Github | Play Store | Difficulty: 初级)

这里写图片描述

照片墙类的app是比较常见的。你是否有想过它们是如何开发的呢?LeafPic就是一个比较好的开源照片墙类的APP。这个项目较简单,容易上手,比较适合初级选手。值得一提的是它包含了切换主题这一功能。
  • 1
  • 2
  • 3
  • 4

Simple Calendar

(Github | Play Store | Difficulty: 初级)

这里写图片描述

  这是一款用Kotlin语言编写的日历app。如果你想学Kotlin,这个开源项目绝对能帮到你。该项目还可以帮助你学习到添加桌面小工具。
  • 1
  • 2

Amaze File Manager

(Github | Play Store | Difficulty: 中级)

这里写图片描述

文件管理类的app也是一类比较常见的应用。做一个能适配大部分android设备的管理类app是相当难的。你可以从这个项目中学到很多,尤其是处理SD卡上的文件。但是不建议参考这个项目的编码,因为不够标准。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Easy Sound Recorder

(Github | Play Store | Difficulty: 初级)

这里写图片描述

这是一款简单的录音app。如果你想学关于录音方面,这个开源项目可以帮到你。该项目只有一个Activity,代码非常好理解,并且采用的是MD设计。
  • 1
  • 2
  • 3
  • 4

MLManager

(Github | Play Store | Difficulty: 初级)

这里写图片描述

该软件可帮助管理手机里面的apps。从这个项目中可以学到如果获取软件的详细信息,导出apk,卸载软件等功能。这个项目的编码风格很好,可以借鉴,它的简洁代码设计和MD设计都可以参考。
  • 1
  • 2
  • 3
  • 4

PhotoAffix

(Github | Play Store | Difficulty: 初级)

这里写图片描述

这款应用可以水平或者垂直合并图像。从它的代码中可以学到简单的自定义控件基础。
  • 1
  • 2

MovieGuide

(Github | Difficulty: 中级)

这里写图片描述

该项目采用了MVP,Clean架构进行开发。包含了RxJava和Dagger2的应用。
  • 1
  • 2

AnExplorer

(Github | Play Store | Difficulty: 中级)

这里写图片描述

同样是一款轻量级的文件管理器,适用于手机和平板。root管理,loaders,自定义控件等功能都可以从这个项目中学到。
  • 1
  • 2
  • 3
  • 4

Minimal ToDo

(Github | Play Store | Difficulty: 初级)

这里写图片描述

该项目比较适合初学者学习参考。
  • 1
  • 2

Timber

(Github | Play Store | Difficulty: 高级)

这里写图片描述

Timber是一款设计非常漂亮的音乐播放器,如果你正在开发一款属于自己的播放器,那么正好可以参考学习一下这个。这个项目距比较大,但是非常受欢迎。
  • 1
  • 2
  • 3
  • 4

AnotherMonitor

(Github | Play Store | Difficulty: 中级)

这里写图片描述

该项目可以帮助你了解到监控系统进程,内存使用,CPU使用等情况。代码风格较好,简单容易理解。但是UI设计不敢恭维。
  • 1
  • 2
  • 3
  • 4

InstaMaterial

(Github | Difficulty: 初级)

该项目学习了Instagram这款应用的材料设计,正好可以帮助你提高你的MD水平。
  • 1
  • 2

Cocoin

(Github | Difficulty: 初级)

这里写图片描述

Cocoin是一款个人财务记账软件。该项目可以帮助你学到操作大量用户数据,绘制漂亮的表格,自定义比较酷的控件等。
  • 1
  • 2

OmniNotes

(Github | Play Store | Difficulty: 中级)

这里写图片描述

这是款类似于Evernote的笔记类app。该项目由大量的功能,比如分享和收缩note,在note中可添加图片,视频,音频,sketch等附件,还可以添加提醒人。
  • 1
  • 2
  • 3
  • 4

Clip Stack

(Github | Play Store | Difficulty: 初级)

这里写图片描述

 该项目是一个简洁漂亮的剪切板管理软件。
  • 1
  • 2

Super Clean Master

(Github | Difficulty: 高级)

这里写图片描述

这是一个模仿【清理大师】的应用。功能较多,建议仔细研究。
  • 1
  • 2
  • 3
  • 4

Traval Mate

(Github | Difficulty: 中级)

这里写图片描述

如果你正在开发一款重度依赖位置和地图旅行类的app,那么你就可以参考该项目。
  • 1
  • 2

KISS

(Github | Play Store | Difficulty: 初级)

这里写图片描述

一个简单,快速,轻量级的launcher应用。
  • 1
  • 2

Turbo Editor

(Github | Play Store | Difficulty: 中级)

这里写图片描述

这是一款非常强大的文本编辑器。通过这个app可以编写代码,并提供语法高亮的功能。
  • 1
  • 2

Wally

(Github | Difficulty: 中级)

这里写图片描述

这是一款壁纸应用。
  • 1
  • 2

Pedometer

(Github | Difficulty: 初级)

这里写图片描述

这是一款通过传感器计步类的app。

更多相关文章

  1. Instrumentation 框架简介
  2. [记录点滴]在Ionic和Android中上传Blob图片
  3. android 实现保存图片到相册
  4. android图片裁剪
  5. android 动画框架
  6. Android 中保存图片的代码
  7. android之将图片转化为圆形图片
  8. Android 使用decodeFile方法加载手机磁盘中的图片文件

随机推荐

  1. Android Camera应用开发小结
  2. Android中使用kotlin实现多行文本的上下
  3. 2020最新统计Android开发者相比去年减少2
  4. Android开发手册 安卓学习教程手册(MtAndr
  5. [置顶] 在单线程模型中Message、Handler
  6. [Android] - 对话框的小框架 Managed-Dia
  7. Android Mms 源码结构2
  8. android 监控联系人变化
  9. 杂谈:Google要解决的关于Android的问题
  10. 在手机应用研发方面,IT专业人士对Android