Skip to content
收集Android方方面面的经典知识, 最新技术.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md

README.md

涵盖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一样轻松加载网络上的图片。但是对大数据量的网络操作如文件的下载支持较差

网络加载相关博文

用 Retrofit 2 简化 HTTP 请求
快速Android开发系列网络篇之Retrofit
Android OkHttp完全解析 是时候来了解OkHttp了
快速Android开发系列网络篇之Android-Async-Http
Android Volley完全解析(一),初识Volley的基本用法
Android Volley完全解析(二),使用Volley加载网络图片
Android 网络通信框架Volley简介(Google IO 2013)
You can’t perform that action at this time.