涵盖Android方方面面的技术, 目前保持更新. 时刻与Android开发流行前沿同步.
目录
注:
- 加星号*的为重点推荐
- 脑图地址: 戳这里
多媒体编程
图片加载库
(解决网络, 文件, res, assets等图片的获取, 解析, 展示, 缓存等需求...)
名称 | 概要 | 详情 --- | --- | --- | --- *Picasso | Github大神推荐的强大的图片下载和缓存库 | Square 开源的项目,主导者是 JakeWharton. *Glide | Google推荐的图片加载和缓存的库 | 专注于平滑滚动时的流畅加载, Google开源项目, 2014年Google I/O 上被推荐 *Fresco | Facebook推荐的的Android图片加载库 | 自动管理图片的加载和图片的缓存.Facebook 在2015年上半年开源的图片加载库 *Android-Universal-Image-Loader | 早期广泛使用的开源图片加载库 | 强大又灵活的Android库, 用于加载,缓存,显示图片. Volley | 2013年Google I/O推荐的网络通讯框架 | 使用volley加载网络图片,主要用到其中的ImageLoader, NetworkImageView类, 注意它不仅仅是个图片加载库. Cube-sdk | 轻量级的Android开发框架 | 高效方便地加载网络图片, 更简易地处理网络API请求
图片处理库
(解决图片缩放, 裁剪, 平移, 旋转等需求)
名称 | 概要 | 详情 --- | --- | --- | --- PinchImageView|国人写的, 可能是体验最好的图片手势控件| 支持双击放大,双击缩小,超出边界会回弹, 滑动惯性,不同分辨率无缝切换,可与ViewPager结合使用。 star:360 GestureViews|包含ImageView的自定义FrameLayout | 项目目的是让图片的查看尽可能流畅平滑, 让开发者更加方便地集成到自己的应用中, 支持手势控制和动画 star:582 *PhotoView | 致力于帮助开发者高效的创建可缩放的ImageView | 重写ImageView的实现, 支持多点触摸的图片缩放 star:4705 subsampling-scale-image-view | 一个Android自定义图片视图, 专为图片画廊设计| 丰富的配置选项, 更方便的实现图片的手势缩放, 旋转, 平移. 无损展示大图, 完美的地嵌入画廊, 地图等.可显示大图(地图, 建筑设计图)等而不造成OutOfMemoryErrors(OOM内存溢出异常) star:1137 TouchImageView | 一个ImageView的拓展类 | 支持ImageView所有功能, 添加了平移, 缩放, 拖拽, 滑动, 双击缩放等动画.star:1252 ImageViewZoom | 自定义ImageView控件 | 一个可以缩放, 平移的自定义ImageView控件. star:1080
图片加载相关博文
Picasso-强大的Android图片下载缓存库
Android的媒体管理框架:Glide 3.0发布
*开源选型之 Android 三大图片缓存原理、特性对比
Android Universal Image Loader 源码分析
Android DiskLruCache源码解析硬盘缓存的绝佳方案
android中图片的三级cache策略(内存、文件、网络)
图片处理相关博文
Android高效加载大图、多图解决方案,有效避免程序OOM
Android照片墙应用实现,再多的图片也不怕崩溃
Android多点触控技术实战,自由地对图片进行缩放和移动
Android 高清加载巨图方案 拒绝压缩图片
Android 优化Bitmap避免OutOfMemoryError\
网络编程
网络加载框架
解决各种协议(GET, POST, PUT, HEAD, DETELE...)的网络数据的获取及请求, 支持异步,同步请求; 文件多线程下载断点续传, 上传; 请求自动重试, gzip压缩, Cookies自动解析并持久化. 数据的缓存. 目标是让网络请求更方便, 简介, 高效, 稳定.
名称 | 概要 | 详情 --- | --- | --- | --- *Retrofit2.0 | 以接口/注解的形式定义请求和响应 | Square 开源的项目. 是一套RESTful架构的Android(Java)客户端实现,基于注解,提供JSON to POJO(Plain Ordinary Java Object,简单Java对象),POJO to JSON,网络请求(POST,GET,PUT,DELETE等)封装。 Jake Wharton大神力荐. 本身的网络核心可以替换. 如Apache HTTP client, URL connection, OKHttp等, 数据解析核心也可以替换如Gson, Jackson, fastjson, xStream等. 力求用最少的代码, 实现最强大的功能. 官方主页 *okhttp | 一个为安卓和java应用诞生的Http+SPDY的网络处理库 | square开源项目. a. 支持HTTP, HTTPS, HTTP/2.0, and SPDY协议 b. 自动缓存数据, 节省流量, c.内部自动GZIP压缩内容. android-async-http | 一个异步的AndroidHttp库 | 比较经典的网络请求库, 基于Apache的HttpClient库实现, 但是由于AndroidM(6.0)去除了对HttpClient相关API, 意味着google不再推荐使用. Volley | 一个能让Android的网络请求更简单快捷的Http库 | 官方地址, 需翻墙 Volley集成了AsyncHttpClient和Universal-Image-Loader的优点,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片。但是对大数据量的网络操作如文件的下载支持较差