`
iaiai
  • 浏览: 2196362 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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/?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/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
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://play.google.com/store/apps/details?id=cn.trinea.android.demo
文档介绍: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#examples
作用:(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
分享到:
评论

相关推荐

    bxiaopeng#wirelessqa#Android开源项目备忘1

    Android开源项目第一篇——个性化控件(View)篇Android开源项目第二篇——工具库篇Android开源项目第三篇——优秀项目篇Android开源项目

    Android 性能调优和开源代码知识分享

    * Android 开源项目第二篇——工具库篇 * Android 开源项目第三篇——优秀项目篇 * Android 开源项目第四篇——开发及测试工具篇 * Android 开源项目第五篇——优秀个人和团体篇 Android 性能调优和开源代码知识...

    java版商城源码下载-Android-Open-Source:Android开源资源

    Android开源项目第二篇——工具库篇 Android开源项目第三篇——优秀项目篇 Android开源项目第四篇——开发及测试工具篇 Android开源项目第五篇——优秀个人和团体篇 记录的项目主要依据是项目有意思或项目分层规范...

    leetcode中文版-Android---project:Android一些我看到的开源项目

    开源项目第二篇——工具库篇 包括依赖注入、图片缓存、网络请求、数据库,ORM工具包、Android公共库、高版本向低版本兼容库、多媒体、事件总线、传感器、安全、插件化、文件、其他 Android 开源项目第三篇——优秀...

    阿里云javasdk源码-Android-Classical-OpenSource:Android开发中个人遇到和使用过的值得分享的资源合集

    阿里云java ...开源项目第二篇——工具库篇 包括依赖注入、图片缓存、网络请求、数据库 ORM 工具包、Android 公共库、高版本向低版本兼容库、多媒体、事件总线、传感器、安全、插件化、文件、其他 Android

    .Android开源项目分类汇总

    2. 工具库:包含网络请求(如Retrofit、Volley)、数据持久化(如GreenDao、Room)、图片加载(如Glide、Picasso)等,提升开发效率。 3. 动画效果:如NineOldAndroids、Lottie,实现复杂的动画效果。 4. 模块化和...

    开源Android离线地图开发——Bigplanet

    Bigplanet作为一个开源项目,开发者还可以利用其他开源库增强其功能,例如地理编码、路径规划等。理解如何与这些库集成,可以进一步丰富应用的特性。 总之,使用Bigplanet进行开源Android离线地图开发涉及众多技术...

    安卓Android源码——Fanfoudroid(饭否网开源项目).zip

    《安卓Android源码——Fanfoudroid(饭否网开源项目)详解》 Fanfoudroid,作为一款基于Android平台的开源项目,是饭否网的移动应用源代码,为开发者提供了一个深入理解Android应用程序开发的绝佳实例。通过研究这个...

    安卓Android源码——[安卓开源]Oschina客户端.zip

    "安卓Android源码——[安卓开源]Oschina客户端.zip" 这个标题表明我们正在讨论的是一个关于安卓(Android)操作系统的开源项目,具体来说是Oschina客户端的源代码。Oschina是中国的一个知名的开源技术社区,它提供了...

    Android UI开发第二十一篇——下拉刷新列表实现(pull to refresh)

    早期,开发者通常使用开源库如`SwipeRefreshLayout`,它是Google官方提供的Android Support Library的一部分。`SwipeRefreshLayout`为包含一个子视图(如`ListView`、`RecyclerView`)的父布局提供了一个便捷的实现...

    android应用源码(精)基于asmack开发的Android开源IM客户端.zip

    "android应用源码(精)基于asmack开发的Android开源IM客户端.zip" 这个标题揭示了我们即将探讨的核心内容——一个基于ASMack库开发的Android即时通讯(IM)应用的源代码。ASMack是XMPP协议的一个Java实现,XMPP是一种...

    android真实项目教程(五)——有时三点两点雨_by_CJJ

    在本篇“Android真实项目教程(五)——有时三点两点雨_by_CJJ”中,我们将深入探讨Android应用程序开发的关键技术和实践。这篇教程可能是系列教程的一部分,专注于如何在Android平台上构建一个具有特定功能或特性的...

    Android应用源码项目之——漂亮的平台书架.zip

    《Android应用源码项目之——漂亮的平台书架》是一个针对Android平台开发的应用程序源码,旨在为用户提供一个美观且功能完善的书架界面。这个项目主要使用了Java编程语言,是Android开发者进行学习和参考的理想资源...

    android真实项目教程(七)——梦醒边缘花落_by_CJJ

    在本篇“Android真实项目教程(七)——梦醒边缘花落_by_CJJ”中,我们将深入探讨Android应用开发的一些核心概念和实践技巧。这个教程可能是系列教程的一部分,旨在帮助开发者掌握从零开始构建实际Android应用程序的...

    安卓Android源码——[安卓开源]高仿陌陌.zip

    【标题】"安卓Android源码——[安卓开源]高仿陌陌.zip" 涵盖的是一个基于Android平台的开源项目,目标是模仿知名的社交应用陌陌。这个项目旨在为开发者提供一个学习和实践Android应用开发,特别是社交应用功能实现的...

    安卓Android源码——史上最牛开源集合资讯阅读器.zip

    这篇文档将深入解析《安卓Android源码——史上最牛开源集合资讯阅读器》的相关知识点,主要涵盖Android系统架构、源码分析以及资讯阅读器的开发技术。首先,我们需要理解Android作为一个开源操作系统,其核心组件...

    android版手机安全卫士项目详细源代码

    android版手机安全卫士项目详细源代码。 这是android一个有详细代码和注释的项目,手机安全卫士,不管你是新手还是大神,都有一定的参考价值 android 项目 源代码。

    经典的Android项目——SMSPopup.zip

    "经典的Android项目——SMSPopup.zip" 这个标题表明我们讨论的是一个基于Android平台的开源项目,名为SMSPopup。这个项目很可能是用来处理短信通知的,因为"SMS"通常指的是手机短信服务,而"Popup"则暗示了它可能...

    安卓Android源码——[安卓开源]PWP简洁大日历.7z

    2. **Android SDK**:了解Android软件开发工具包,包括各种版本的Android API、库和工具,以及如何利用它们创建和测试应用程序。 3. **布局设计**:XML布局文件的编写,包括线性布局、相对布局、约束布局等,用于...

    安卓Android源码——[安卓开源]生日管家.7z

    【安卓Android源码——[安卓开源]生日管家】 在安卓Android平台上,开发一款名为“生日管家”的应用,是为了帮助用户方便地管理亲友的生日信息,提醒用户在特殊日子送上祝福。开源项目的意义在于,它提供了开发者们...

Global site tag (gtag.js) - Google Analytics