Android 开源项目android-open-project工具库解析之(一) 依赖注入,图片缓存,网络相关,数据库orm工具包,Android公共库

1、依赖注入DI 

经过依赖注入下降View、服务、资源简化初始化。事件绑定等反复繁琐工做
html

  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) RESTclient:定义client接口,本身主动生成REST请求的实现
    (5) 没有你想象的复杂:AndroidAnnotations仅仅是在在编译时生成对应子类
    (6) 不影响应用性能:仅50kb。在编译时完毕,不会对执行时有性能影响。
    PS:与roboguice的比較:roboguice经过执行时读取annotations进行反射,因此可能影响应用性能。而AndroidAnnotations在编译时生成子类。因此对性能没有影响 java

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

  3. butterknife
    利用annotation帮你高速完毕View的初始化,下降代码
    项目地址:https://github.com/JakeWharton/butterknife
    文档介绍:http://jakewharton.github.io/butterknife/ git

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

2、图片缓存

  1. Android-Universal-Image-Loader
    图片缓存。眼下使用最普遍的图片缓存,支持主流图片缓存的绝大多数特性。ajax


    项目地址: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模式 sql

  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)可依据系统配置初始化缓存等 shell

  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
    效果图:Screen Shot文档介绍:http://cube-sdk.liaohuqiu.net/ 数据库

  5. fresco
    一款强大的图片缓存工具,由 Facebook开发
    项目地址:https://github.com/facebook/fresco
    文档介绍:http://frescolib.org/
    特色:(1) 两个内存缓存加上磁盘缓存构成了三级缓存
    (2) 支持流式,可以相似网页上模糊渐进式显示图片
    (3) 对多帧动绘图片支持更好,如 Gif、WebP
    (4) 不少其它样的显示,如圆角、进度条、点击重试、本身定义对焦点
    (5) 不少其它样的载入,如支持 EXIF、全面支持 WebP
    (6) 支持 Android 2.3+

3、网络相关

  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/androidqueryhttps://code.google.com/p/android-query/
    Demo地址:https://play.google.com/store/apps/details?

    id=com.androidquery
    文档介绍:https://code.google.com/p/android-query/#Why_AQuery?


    特色: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

  10. Droppy
    支持多种样式的下拉菜单
    项目地址:https://github.com/shehabic/Droppy

4、数据库 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/square/retrofit 能保存从server获取的数据
    项目地址:https://github.com/emilsjolander/sprinkles
    文档介绍:http://emilsjolander.github.io/blog/2013/12/18/android-with-sprinkles/

  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

  7. DBFlow
    Android SQLite ORM工具库。

    综合了 Active Android, Schematic, Ollie,Sprinkles等库的长处;经过注解实现,性能好;能生成ContentProvider。


    项目地址:https://github.com/Raizlabs/DBFlow
    文档介绍:https://github.com/Raizlabs/DBFlow#usage-docs

5、Android公共库

  1. Guava
    Google的基于java1.6的类库集合的扩展项目,包含collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等等. 这些高质量的API可以使你的JAVa代码更加优雅,更加简洁
    项目地址:https://code.google.com/p/guava-libraries/
    文档介绍:https://code.google.com/p/guava-libraries/wiki/GuavaExplained

  2. Volley
    Google提供的网络通讯库,使得网络请求更简单、更高速
    项目地址:https://android.googlesource.com/platform/frameworks/volley
    文档介绍:http://commondatastorage.googleapis.com/io-2013/presentations/110%20-%20Volley-%20Easy,%20Fast%20Networking%20for%20Android.pdf

  3. AndroidCommon
    Android公共库
    项目地址:https://github.com/Trinea/AndroidCommon
    Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
    文档介绍:http://www.trinea.cn/android/android-common-lib/
    包含:(1)缓存(图片缓存、预取缓存、网络缓存)
    (2) 公共View(下拉及底部载入不少其它ListView、底部载入不少其它ScrollView、滑动一页Gallery)
    (3) Android常常使用工具类(网络、下载、Android资源操做、shell、文件、Json、随机数、Collection等等)

  4. shipfaster
    整合了Dagger Otto Retrofit Robolectric Picasso OkHttp,方便高速开发
    项目地址:https://github.com/pyricau/shipfaster

  5. CleanAndroidCode
    整合了Dagger Otto AndroidAnnotations,方便高速开发
    项目地址:https://github.com/pyricau/CleanAndroidCode

  6. xUtils
    基于Afinal。包括DbUtils、ViewUtils、HttpUtils、BitmapUtils四大模块,可用于高速开发
    项目地址:https://github.com/wyouflf/xUtils

  7. Afinal
    Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。经过finalActivity,咱们可以经过注解的方式进行绑定ui和事件。经过finalBitmap,咱们可以方便的载入bitmap图片,而无需考虑oom等问题。

    经过finalDB模块,咱们一行代码就可以对android的sqlite数据库进行增删改查。

    经过FinalHttp模块,咱们可以以ajax形式请求http数据
    项目地址:https://github.com/yangfuhai/afinal
    官网网址:http://www.afinal.org

  8. UltimateAndroid
    UltimateAndroid是一个高速开发Android应用的框架。框架眼下主要包括的功能有View Injection,ORM,异步网络请求和图片载入,本身主动化脚本測试,磁盘LRU等功能.同一时候提供了相似于TripleDes、Webview高速设置、Md5处理、String处理,Https处理等常常使用工具类,还有超过100多种UI控件效果。
    项目地址:https://github.com/cymcsg/UltimateAndroid
    官网网址:http://blog.marshalchen.com/UltimateAndroid/

  9. SAF
    SAF(Simple Android Framework)是一个简单的android框架。它为开发Android app提供了基础性组件。


    项目地址:https://github.com/fengzhizi715/SAF
    官网网址:http://www.salesuite.cn/
    包含:(1)Event Bus(事件总线)
    (2) Rest Client(http的框架)
    (3) Image Cache(图片缓存)
    (4) Dependency Injection(依赖注入)
    (5) Sqlite ORM(sqlite的orm)
    (6) Router(Activity、Fragment的Router)
    (7) Utils(各类常常使用的工具类)

  10. Barber
    Custom View 神器。经过简单的注解帮助你大大下降 Custom View 中的代码量。

    由于和 ButterKnife 同样使用了 Annotation Proccessor ,因此对程序性能没有影响。
    项目地址:https://github.com/hzsweers/barber

  11. device-year-class
    A library that analyzes an Android device's specifications and calculates which year the device would be considered "high end”.(facebook开发的检測手机主流配置工具)
    项目地址:https://github.com/facebook/device-year-class

相关文章
相关标签/搜索