Android开源工具库

   2016-10-09 0
核心提示:一、依赖注入DI通过依赖注入减少View、服务、资源简化初始化,事件绑定等重复繁琐工作1. AndroidAnnotations(Code Diet) android快速开发框架项目地址:https://github.com/excilys/androidannotations文档介绍:https://github.com/excilys/androidannotatio

一、依赖注入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://github.com/Trinea/TrineaDownload/blob/master/TrineaAndroidDemo.apk?raw=true

文档介绍: http://www.trinea.cn/?p=704

特点:(1)支持预取新图片,支持等待队列

(2)包含二级缓存,可自定义文件名保存规则

(3)可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自定义缓存算法

(4)可方便的保存及初始化恢复数据

(5)支持不同类型网络处理

(6)可根据系统配置初始化缓存等

三、网络相关

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/

文档介绍: 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://github.com/Trinea/TrineaDownload/blob/master/TrineaAndroidDemo.apk?raw=true

Demo代码: https://github.com/Trinea/AndroidDemo/blob/master/src/cn/trinea/android/demo/HttpCacheDemo.java

特点是:(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/

四、数据库 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 能保存从服务器获取的数据

五、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. AndroidCommon Android公共库

项目地址: https://github.com/Trinea/AndroidCommon

Demo地址: https://github.com/Trinea/TrineaDownload/blob/master/TrineaAndroidDemo.apk?raw=true

文档介绍: http://www.trinea.cn/?p=778

包括:(1)缓存(图片缓存、预取缓存、网络缓存)

(2) 公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、滑动一页Gallery)

(3) Android常用工具类(网络、下载、Android资源操作、shell、文件、Json、随机数、Collection等等)

六、Android 高版本向低版本兼容

1. ActionBarSherlock 为Android所有版本提供统一的ActionBar,解决4.0以下ActionBar的适配问题

项目地址: https://github.com/JakeWharton/ActionBarSherlock

Demo地址: https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos

APP示例:太多了。。现在连google都在用

2. Nine Old Androids 将Android 3.0(Honeycomb)所有动画API(ObjectAnimator ValueAnimator等)兼容到Android1.0

项目地址: https://github.com/JakeWharton/NineOldAndroids

Demo地址: https://play.google.com/store/apps/details?id=com.jakewharton.nineoldandroids.sample

文档介绍: http://nineoldandroids.com/

3. HoloEverywhere 将Android 3.0的Holo主题兼容到Android2.1++

项目地址: https://github.com/Prototik/HoloEverywhere

Demo地址: https://raw.github.com/Prototik/HoloEverywhere/repo/org/holoeverywhere/demo/2.1.0/demo-2.1.0.apk

文档介绍: http://android-developers.blogspot.com/2012/01/holo-everywhere.html

七、多媒体相关

1. cocos2d-x 跨平台的2d游戏框架,支持Android、IOS、Linux、Windows等众多平台

项目地址: https://github.com/cocos2d/cocos2d-x

文档介绍: http://www.cocos2d-x.org/wiki

官方网站: http://www.cocos2d-x.org/

2. Vitamio 是一款Android与iOS平台上的全能多媒体开发框架

项目地址: https://github.com/yixia/VitamioBundle

网站介绍: http://www.vitamio.org/docs/

特点:(1) 全面支持硬件解码与GPU渲染

(2) 能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频

(3) 在Android与iOS上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8)等常见的多种视频流媒体协议,包括点播与直播。

3. PhotoProcessing 利用ndk处理图片库,支持Instafix、Ansel、Testino、XPro、Retro、BW、Sepia、Cyano、Georgia、Sahara、HDR、Rotate、Flip

项目地址: https://github.com/lightbox/PhotoProcessing

Demo地址: https://github.com/Trinea/TrineaDownload/blob/master/photo-processing.apk?raw=true

4. Android StackBlur 图片模糊效果工具类

项目地址: https://github.com/kikoso/android-stackblur

Demo地址: https://github.com/kikoso/android-stackblur/blob/master/StackBlurDemo/bin/StackBlurDemo.apk?raw=true

文档介绍: https://github.com/kikoso/android-stackblur#usage

八、其他

1. Salvage view 带View缓存的Viewpager PagerAdapter,很方便使用

项目地址: https://github.com/JakeWharton/salvage

2. Android-PasscodeLock 应用锁,每次启动或从任何Activity启动应用都需要输入四位数字的密码方可进入

项目地址: https://github.com/wordpress-mobile/Android-PasscodeLock

Demo地址: https://play.google.com/store/apps/details?id=com.sothree.umano

APP示例:Wordpress Android,支付宝,挖财

3. android-lockpattern Android的图案密码解锁

项目地址: https://code.google.com/p/android-lockpattern/

Demo地址: https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo

使用介绍: https://code.google.com/p/android-lockpattern/wiki/QuickUse

示例APP:Android开机的图案密码解锁,支付宝的密码解锁

4. GlowPadBackport将Android4.2的锁屏界面解锁扩展到Android1.6及1.6+

项目地址: https://github.com/rock3r/GlowPadBackport

Demo地址: https://play.google.com/store/apps/details?id=net.sebastianopoggi.samples.ui.GlowPadSample

效果图: https://lh6.ggpht.com/U070b6Lh6cVsVwx4jN-5nq0xqiB1PBzrYABPeJIEe2hZQ5UWOxc-FDUG77wADelToHA=h310-rw

5. GlowPadView Android4锁屏界面解锁

项目地址: https://github.com/nadavfima/GlowPadView

效果图: https://raw.github.com/nadavfima/GlowPadView/master/example.png

6. Android Priority Job Queue Android后台任务队列

项目地址: https://github.com/path/android-priority-jobqueue

文档介绍: https://github.com/path/android-priority-jobqueue#getting-started

7. jsoup 一个解析html的java库,可方便的提取和操作数据

项目地址: https://github.com/jhy/jsoup

官方网站: http://jsoup.org/

作用:(1) 从一个url、文件或string获得html并解析

(2) 利用dom遍历或css选择器查找、提取数据

(3) 操作html元素

(4) 根据白名单去除用于提交的非法数据防止xss攻击

(5) 输出整齐的html

8.ZIP java压缩和解压库

项目地址: https://github.com/zeroturnaround/zt-zip

文档介绍: https://github.com/zeroturnaround/zt-zip#exa mples

作用:(1) 解压和压缩,并支持文件夹内递归操作

(2) 支持包含和排除某些元素

(3) 支持重命名元素

(4) 支持遍历zip包内容

(5) 比较两个zip包等功能

9. Cobub Razor 开源的mobile行为分析系统,包括web端、android端,支持ios和window phone

项目地址: https://github.com/cobub/razor

Demo地址: http://demo.cobub.com/razor

网站介绍: http://dev.cobub.com/

10. aFileChooser 文件选择器,可内嵌到程序中,而无需使用系统或三方文件选择器。

项目地址: https://github.com/iPaulPro/aFileChooser

11. androidpn 基于xmpp协议的消息推送解决方案,包括服务器端和android端。

项目地址: https://github.com/dannytiehui/androidpn

12. Android插件式开发

项目地址: https://github.com/umeng/apf

来自:http://www.trinea.cn/android/android-github-dev-lib/

 
标签: 开源 安卓开发
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • ASimpleCache
    ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。1、它可以缓存什么东西?普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 byte数据。2、它有什么特色?特色主要是
    02-05 Java开源
  • 史上最牛逼的音乐播放器—仿网易云音乐(已开源)
    史上最牛逼的音乐播放器—仿网易云音乐(已开源
    前言:音乐播放器倒见过不少,做到几乎和官方网易云音乐安卓版差不多的,还是头第一回见。aa112901的这款仿网易云音乐安卓版客户端,很多地方值得我们学习。无论是下载模块,还是换肤模块,还是炫丽的UI界面。等。用心在每一个细节。 aa11290 1 本项目的githu
  • Android常用的开源项目及其比较系列-Retrofit进
    上一篇我们谈了谈Androiod开源项目的网络框架, 比较了它们之间的优缺点,原文在这里。今天我们着重谈谈Retrofit框架如何更友好的使用,本着提出问题解决问题的原则,也为大家以后解决问题提供基本思路。目前都有哪些问题?根据官方Demo, 简单使用是这么样的
  • Git 项目推荐 | 轻量级 IM 开源项目 FamilyChat
    Git 项目推荐 | 轻量级 IM 开源项目 FamilyChat
    家聊 轻量级IM开源项目,基于环信Sdk 初衷 很久之前想教家里老人学习使用智能机,让他们能用App和家人交流沟通,但是发现市面上流行的社交软件对于他们来说学习成本太高,毕竟他们从来没使用过智能手机,这些社交软件中很多功能都是不需要的,所以就产生了自
    11-13 开源Git
  • Mark!Android最佳的开源库集锦
    Mark!Android最佳的开源库集锦
    原文: Best Android Libraries for Developers作者:Felix 翻译 :Daisy 责编 :仲培艺 工欲善其事,必先利其器。一个好的开发库可以快速提高开发者的工作效率,甚至让开发工作变得简单。本文收集了大量的Android开发库,快来切磋一下,到底哪一个最适合你。
  • 基于Goolgle最新NavigationDrawer实现全屏水平平移 - 西谷开源 - 开源中国社区
    基于Goolgle最新NavigationDrawer实现全屏水平
    常见实现App 上面侧边栏菜单之前使用SlidingMenu,现在发现Goolgle原生NavigationDrawer也挺好用。但是细心的开发者们发现NavigationDrawer没有类似SlidingMenu全屏平移的效果,其实不用着急,简单修改即可实现此效果。 话不多说上代码://.....省略部分代码p
  • Android网络开源库-Retrofit(五)简易封装
    1.前言Rrtrofit的扩展性很强,如果对retrofit不熟悉的话,是很难应对各种各样的需求的。因此,在这里,做一下简单的封装。主要为了下面三点需求:使用简单加密处理错误处理2.怎样才能简单使用为了简单粗暴,我做了以下工作。使用单例Retrofit引入RxJava在这里
  • Android网络开源库-Retrofit(四)文件相关
    以前写过一些retrofit的相关文章,当时只是自己学习研究的,最近项目,加入了retrofit,因此遇到了一些问题,需要记录一下。1.前言在以前,写过retrofit上传文件相关,但是,需求总是变化的。前面的,介绍了上传进度的监听,但是,那时候是监听单文件进度。虽
  • 十款 Material Design 风格的 Android 开源项目
    十款 Material Design 风格的 Android 开源项目
    自Android推出Material Design以来,原生的Android系统颜值越来越高,现在可以客观的说和苹果的iOS不分伯仲。这篇文章整理了一些优秀的遵循Material Design的Android开源项目,以供分享、交流和学习。0 Materialistic——Hacker News 客户端Materialistic 是
  • 2016年最值得学习的五大开源项目
    2016年最值得学习的五大开源项目
    1,Material Animations演示View的平移、缩放动画,activity进入和退出动画,界面间元素共享,并且开发者在README中,对动画原理进行了精讲,是学习动画很好的项目,项目代码量比较少,也很适合新手学习。 项目地址 GitHub: https://github.com/lgvalle/Mater
点击排行