文档章节

github开源Android资源整理(八)工具库

k
 kim366
发布于 2016/05/13 19:31
字数 1519
阅读 13
收藏 0
点赞 2
评论 0

第二部分 工具库

主要包括那些不错的开发库,包括依赖注入框架、图片缓存、网络相关、数据库ORM建模、Android公共库、Android 高版本向低版本兼容、多媒体相关及其他。

一、依赖注入DI

通过依赖注入减少View、服务、资源简化初始化,事件绑定等重复繁琐工作

  1. AndroidAnnotations(Code Diet)
    android快速开发框架
    项目地址:https://github.com/excilys/androidannotations
    文档介绍:https://github.com/excilys/androidannotations/wiki
    官方网站:http://androidannotations.org/
    特点:(1) 依赖注入:包括view,extras,系统服务,资源等等
    (2) 简单的线程模型,通过annotation表示方法运行在ui线程还是后台线程
    (3) 事件绑定:通过annotation表示view的响应事件,不用在写内部类
    (4) REST客户端:定义客户端接口,自动生成REST请求的实现
    (5) 没有你想象的复杂:AndroidAnnotations只是在在编译时生成相应子类
    (6) 不影响应用性能:仅50kb,在编译时完成,不会对运行时有性能影响。
    PS:与roboguice的比较:roboguice通过运行时读取annotations进行反射,所以可能影响应用性能,而AndroidAnnotations在编译时生成子类,所以对性能没有影响

  2. roboguice
    帮你处理了很多代码异常,利用annotation使得更少的代码完成项目
    项目地址:https://github.com/roboguice/roboguice
    文档介绍:https://github.com/roboguice/roboguice/wiki

  3. butterknife
    利用annotation帮你快速完成View的初始化,减少代码
    项目地址:https://github.com/JakeWharton/butterknife
    文档介绍:http://jakewharton.github.io/butterknife/

  4. Dagger
    依赖注入,适用于Android和Java
    项目地址:https://github.com/square/dagger
    文档介绍:http://square.github.io/dagger/

二、图片缓存

  1. Android-Universal-Image-Loader
    图片缓存,目前使用最广泛的图片缓存,支持主流图片缓存的绝大多数特性。
    项目地址:https://github.com/nostra13/Android-Universal-Image-Loader
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/universal-imageloader-demo.apk?raw=true
    文档介绍:http://www.intexsoft.com/blog/item/74-universal-image-loader-part-3.html

  2. picasso
    square开源的图片缓存
    项目地址:https://github.com/square/picasso
    文档介绍:http://square.github.io/picasso/
    特点:(1)可以自动检测adapter的重用并取消之前的下载
    (2)图片变换
    (3)可以加载本地资源
    (4)可以设置占位资源
    (5)支持debug模式

  3. ImageCache
    图片缓存,包含内存和Sdcard缓存
    项目地址:https://github.com/Trinea/AndroidCommon
    Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
    文档介绍:http://www.trinea.cn/android/android-imagecache/
    特点:(1)支持预取新图片,支持等待队列
    (2)包含二级缓存,可自定义文件名保存规则
    (3)可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自定义缓存算法
    (4)可方便的保存及初始化恢复数据
    (5)支持不同类型网络处理
    (6)可根据系统配置初始化缓存等

  4. Cube ImageLoader
    阿里巴巴一淘使用的图片加载,综合了Android-Universal-Image-Loader 和 square 等组件优点,简单易用,良好的中文文档支持
    项目地址:https://github.com/etao-open-source/cube-sdk
    Demo地址:https://github.com/liaohuqiu/cube-sdk/raw/master/cube-sdk-sample.apk
    文档介绍:http://cube-sdk.liaohuqiu.net/
    效果图:Screen Shot

三、网络相关

  1. Asynchronous Http Client for Android
    Android异步Http请求
    项目地址:https://github.com/loopj/android-async-http
    文档介绍:http://loopj.com/android-async-http/
    特点:(1) 在匿名回调中处理请求结果
    (2) 在UI线程外进行http请求
    (3) 文件断点上传
    (4) 智能重试
    (5) 默认gzip压缩
    (6) 支持解析成Json格式
    (7) 可将Cookies持久化到SharedPreferences

  2. android-query
    异步加载,更少代码完成Android加载
    项目地址:https://github.com/androidquery/androidquery 或 https://code.google.com/p/android-query/
    文档介绍:https://code.google.com/p/android-query/#Why_AQuery?
    Demo地址:https://play.google.com/store/apps/details?id=com.androidquery
    特点:https://code.google.com/p/android-query/#Why_AQuery?

  3. Async Http Client
    Java异步Http请求
    项目地址:https://github.com/AsyncHttpClient/async-http-client
    文档介绍:http://sonatype.github.io/async-http-client/

  4. Ion
    支持图片、json、http post等异步请求
    项目地址:https://github.com/koush/ion
    文档介绍:https://github.com/koush/ion#more-examples

  5. HttpCache
    Http缓存
    项目地址:https://github.com/Trinea/AndroidCommon
    Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
    文档介绍:http://www.trinea.cn/android/android-http-cache
    特点是:(1) 根据cache-control、expires缓存http请求
    (2) 支持同步、异步Http请求
    (3) 在匿名回调中处理请求结果
    (4) 在UI线程外进行http请求
    (5) 默认gzip压缩

  6. Http Request
    项目地址:https://github.com/kevinsawicki/http-request
    文档介绍:https://github.com/kevinsawicki/http-request#examples

  7. okhttp
    square开源的http工具类
    项目地址:https://github.com/square/okhttp
    文档介绍:http://square.github.io/okhttp/
    特点:(1) 支持SPDY( http://zh.wikipedia.org/wiki/SPDY )协议。SPDY协议是Google开发的基于传输控制协议的应用层协议,通过压缩,多路复用(一个TCP链接传送网页和图片等资源)和优先级来缩短加载时间。
    (2) 如果SPDY不可用,利用连接池减少请求延迟
    (3) Gzip压缩
    (4) Response缓存减少不必要的请求

  8. Retrofit
    RESTFUL API设计
    项目地址:https://github.com/square/retrofit
    文档介绍:http://square.github.io/retrofit/

  9. RoboSpice
    Android异步网络请求工具,支持缓存、REST等等
    项目地址:https://github.com/stephanenicolas/robospice
    Demo地址:https://github.com/stephanenicolas/RoboDemo/downloads

四、数据库 orm工具包

orm的db工具类,简化建表、查询、更新、插入、事务、索引的操作

  1. greenDAO
    Android Sqlite orm的db工具类
    项目地址:https://github.com/greenrobot/greenDAO
    文档介绍:http://greendao-orm.com/documentation/
    官方网站:http://greendao-orm.com/
    特点:(1) 性能佳
    (2) 简单易用的API
    (3) 内存小好小
    (4) 库大小小

  2. ActiveAndroid
    Android Sqlite orm的db工具类
    项目地址:https://github.com/pardom/ActiveAndroid
    文档介绍:https://github.com/pardom/ActiveAndroid/wiki/_pages

  3. Sprinkles
    Android Sqlite orm的db工具类
    项目地址:https://github.com/emilsjolander/sprinkles
    文档介绍:http://emilsjolander.github.io/blog/2013/12/18/android-with-sprinkles/
    特点:比较显著的特点就是配合https://github.com/square/retrofit 能保存从服务器获取的数据

  4. Realm
    移动端的数据库,适用于 Phone、Tablet、Wearable,支持 ORM,线程安全、支持连表及数据库加密,比 SQLite 性能更好
    项目地址:https://github.com/realm/realm-java
    文档介绍:http://realm.io/docs/java/0.72.0/

  5. ormlite-android
    项目地址:https://github.com/j256/ormlite-android
    文档介绍:http://ormlite.com/sqlite_java_android_orm.shtml

  6. Schematic
    根据SQLite生成ContentProvider
    项目地址:https://github.com/SimonVT/schematic

本文转载自:http://blog.csdn.net/oyangyujun/article/details/43340865

共有 人打赏支持
k
粉丝 1
博文 129
码字总数 0
作品 0
朝阳
官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?

Kotlin KTX 2月5号的时候,Google 发布了一款 Kotlin 的扩展库,叫 Android KTX,不过现在还处于预览版的状态。它能使 Android 上的 Kotlin 代码更简洁,从而提高开发者的效率和使用体验。 ...

承香墨影 ⋅ 02/07 ⋅ 0

整理的Android开发资源

Android网址或Blog Android官网 身为Android开发者不知道这个网站就太说不过去了,上面有你任何你需要的东西 Android Developers Blog Android官网博客, 在上面可以关注Android最新的进展与最...

程序袁_绪龙 ⋅ 2015/07/16 ⋅ 1

Android网址或Blog

Android官网 身为Android开发者不知道这个网站就太说不过去了,上面有你任何你需要的东西 Android Developers Blog Android官网博客, 在上面可以关注Android最新的进展与最权威的博客(须翻墙...

grushy ⋅ 2014/12/08 ⋅ 2

Android studio插件整理

Android studio 以下简称AS,*号表示插件的常用比例,越高常用性越高 AS打开设置的快捷键Ctrl + alt + S 在线安装:File-->settings-->Plugins-->Browse repositories-->然后再输入框输入But...

惟吾德馨_慧 ⋅ 05/23 ⋅ 0

最全的Android开发资源整理--进阶必备

Android网址或Blog Android官网 身为Android开发者不知道这个网站就太说不过去了,上面有你任何你需要的东西 Android Developers Blog Android官网博客, 在上面可以关注Android最新的进展与最...

我的悲伤 ⋅ 2014/06/17 ⋅ 2

Flutter学习总结----第一章、Flutter基础

Flutter学习总结: 更多相关内容和示例代码,请看我的github: https://github.com/AweiLoveAndroid/Flutter-learning 第1章、基础入门 1.1 Flutter简介 1.1.1 跨平台框架的发展历史 详情请看...

AWeiLoveAndroid ⋅ 昨天 ⋅ 0

AndroidThings之基础一 基本概念

转载自:https://blog.csdn.net/weixin41636248/article/details/79069994 Android Things是什么 一句话说,AndroidThings就是让开发者可以使用Android开发工具开发嵌入式设备。 If you can...

qq_28831197 ⋅ 05/09 ⋅ 0

浅谈——Android学习之路

电脑–推荐 Mac   首先声明我不是果粉,个人 Windows,Linux,Mac OX 系统均用过, 只能说 Windows 上面的开发工具简直难以恭维,尤其命令行超级难用,而 Linux 自己必须得花不少时间在折腾...

浮生侃侃 ⋅ 2016/04/21 ⋅ 0

Android项目实战(三十八):2017最新 将AndroidLibrary提交到JCenter仓库(图文教程)

我们经常使用github上的开源项目,使用步骤也很简单 比如: compile 'acffo.xqx.xwaveviewlib:maven:1.0.0' 这里就学习一下如何将自己的类库做出这种可以供他人使用的开源项目。 一、Android...

听着music睡 ⋅ 2017/11/15 ⋅ 0

Android_6.数据存储3_SQLite存储之创建数据库

本文是以Android Studio为开发工具,<> 为学习指导书籍的学习记录 6.4 SQLite数据 SQLite用于存储大量复杂的关系型数据,是内置在Android系统的一种轻量级的关系型数据库,它有速度快,占用资...

橄榄工作室 ⋅ 05/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Greys Java在线问题诊断工具

Greys是一个JVM进程执行过程中的异常诊断工具。 在不中断程序执行的情况下轻松完成JVM相关问题排查工作 目标群体 有时候突然一个问题反馈上来,需要入参才能完成定位,但恰恰没有任何日志。回...

素雷 ⋅ 26分钟前 ⋅ 0

git从远程仓库拉取代码的常用指令

一种(比较麻烦的)拉代码的方法 git clone //克隆代码库,与远程代码库的主干建立连接,如果主干已经在就不用再clone啦,克隆路径为当前路径下的新创建的文件夹 git checkout -b //本地建立...

Helios51 ⋅ 40分钟前 ⋅ 0

005. 深入JVM学习—Java堆内存参数调整

1. JVM整体内存调整图解(调优关键) 实际上每一块子内存区域都会存在一部分可变伸缩区域,其基本流程:如果内存空间不足,则在可变的范围之内扩大内存空间,当一段时间之后,内存空间不紧张...

影狼 ⋅ 45分钟前 ⋅ 0

内存障碍: 软件黑客的硬件视图

此文为笔者近日有幸看到的一则关于计算机底层内存障碍的学术论文,并翻译(机译)而来[自认为翻译的还行],若读者想要英文原版的论文话,给我留言,我发给你。 内存障碍: 软件黑客的硬件视图...

Romane ⋅ 今天 ⋅ 0

SpringCloud 微服务 (七) 服务通信 Feign

壹 继续第(六)篇RestTemplate篇 做到现在,本机上已经有注册中心: eureka, 服务:client、order、product 继续在order中实现通信向product服务,使用Feign方式 下面记录学习和遇到的问题 贰 or...

___大侠 ⋅ 今天 ⋅ 0

gitee、github上issue标签方案

目录 [TOC] issue生命周期 st=>start: 开始e=>end: 结束op0=>operation: 新建issueop1=>operation: 评审issueop2=>operation: 任务负责人执行任务cond1=>condition: 是否通过?op3=>o......

lovewinner ⋅ 今天 ⋅ 0

浅谈mysql的索引设计原则以及常见索引的区别

索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针. 数据库索引的设计原则: 为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索...

屌丝男神 ⋅ 今天 ⋅ 0

String,StringBuilder,StringBuffer三者的区别

这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。 首先说运行速度,或者说是, 1.执行速度 在这方面运行速度快慢为:StringBuilder(线程不安全,可变) > StringBuffer...

时刻在奔跑 ⋅ 今天 ⋅ 0

java以太坊开发 - web3j使用钱包进行转账

首先载入钱包,然后利用账户凭证操作受控交易Transfer进行转账: Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/Credentials credentials = Wallet......

以太坊教程 ⋅ 今天 ⋅ 0

Oracle全文检索配置与实践

Oracle全文检索配置与实践

微小宝 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部