一、依赖注入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) RESTclient:定义client接口,自己主动生成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地址:

    id=cn.trinea.android.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/

  5. fresco

    一款强大的图片缓存工具,由 Facebook开发

    项目地址:https://github.com/facebook/fresco

    文档介绍:http://frescolib.org/

    特点:(1) 两个内存缓存加上磁盘缓存构成了三级缓存

    (2) 支持流式,能够类似网页上模糊渐进式显示图片

    (3) 对多帧动绘图片支持更好,如 Gif、WebP

    (4) 很多其它样的显示,如圆角、进度条、点击重试、自己定义对焦点

    (5) 很多其它样的载入,如支持 EXIF、全面支持 WebP

    (6) 支持 Android 2.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/androidquery
    https://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地址:

    id=cn.trinea.android.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

四、数据库 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

五、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

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

  1. Android开源项目发现--- 效率开发工具篇(持续更新)

    1.Json2Java 根据JSon数据自动生成对应的Java实体类,还支持Parcel.Gson Annotations对应代码自动生成.期待后续的提取父类以及多url构建整个工程的功能 项目地址: ...

  2. [转]Android开源项目第二篇——工具库篇

    本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多 ...

  3. Android开源项目第二篇——工具库篇

    本文为那些不错的Android开源项目第二篇——开发工具库篇,**主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容 ...

  4. GitHub 优秀的 Android 开源项目(转)

    今天查找资源时看到的一篇文章,总结了很多实用资源,十分感谢原作者分享. 转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介 ...

  5. GitHub 优秀的 Android 开源项目

    转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...

  6. GitHub 优秀Android 开源项目

    阅读目录 1.Xabber客户端 2.oschina客户端 3.手机安全管家 4.星座连萌 5.玲闹铃 6.魔乐盒 7.PWP日历 8.Apollo音乐播放器 9.夏普名片识别 10.高仿人人网 11 ...

  7. 【转】GitHub 优秀的 Android 开源项目

    转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...

  8. [转]GitHub 优秀的 Android 开源项目

    GitHub 优秀的 Android 开源项目 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageV ...

  9. GitHub上史上最全的Android开源项目分类汇总 (转)

    GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...

随机推荐

  1. 全陷阱破解:在Linux环境下的Jenkins中持续集成Androidproject

    本方案以 RHEL / Centos 64位Linux操作系统为例,由于这是眼下最常见的server环境. 一.安装Java SDK. 建议,不要使用诸如yum之类的玩意自己主动安装,由于openJD ...

  2. Hauntbox:用于控制你的自己主动化、电子创意家居的开源硬件盒子

    Hauntbox 是一个开源硬件控制器,能够满足用随意传感器和控制器建立复杂的.自己主动化的萦绕在心头的电子项目. 它不须要焊接或者预先学什么知识.是全然可控制.并与Arduino插板兼容. 无需编程 ...

  3. JSP页面小脚本实现日期比較,Java同理,精简过后的,可能在效率上不太好,有大大能够给优化下就更好了

    <%         java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd ...

  4. Java学习——何为JNDI

    曾记得在做机房收费系统的时候就接触到了API,由于它的功能非常强大,可是自己对它却不怎么了解.所以当时是又爱又怕.现在,一路走来才明确,事实上它就是一组接口.仅仅要我们去了解它就会发现.它事实上也没想 ...

  5. NetBeans 7.2 or 8.0 编辑文件时不显示文件路径。

    NetBeans 7.2 or 8.0 编辑文件时不显示文件路径. 仅仅实用鼠标停在标签上一下,才干够看到.非常不方便. 怎样解: http://plugins.netbeans.org/plugin ...

  6. MSSQL - 用GUID值来完成数据表行标识

    地址:http://www.cnblogs.com/huangfr/archive/2012/03/28/2420780.html [Guid] [uniqueidentifier] NOT NULL ...

  7. Sublime Text3 + Golang搭建开发环境

    Sublime Text3 + Golang搭建开发环境 http://blog.csdn.net/aqiang912/article/details/46775409 1.安装git 因为golan ...

  8. 奇怪的问题,InvalidateRect最后一个参数在XP下无效

    一直用的WIN2K系统,写的一个程序在本机正常,到XP系统的机器运行发现调整窗口大小时界面闪得厉害,程序比较大,而且这种闪烁还不好调试,因为单步调试没有闪烁效果,只能排除法找原因,最后以为找到原因了, ...

  9. Jsp中使用数据库连接池.

    原文 Jsp中使用数据库连接池. 1. 在tomcat服务器目录下面的conf中找到一个叫Context.xml的配置文件,在其中加入以下代码 <Resource name="jdbc ...

  10. javascript 高级程序设计 学习笔记

    <!--<script> // 异步请求封装 IE6即以上浏览器 // ajax(url,fnSucc,selectID,fnFaild) //url 请求地址 //fnSucc 异 ...