天天看点

Android[第三方or官方]高质量实用【组件&开源项目&框架】集合贴

前言:这里的只起统计作用,方便以后开发使用,会给出源地址,方便大家查阅。

===================================================

①:photoview(图片浏览框架)

photoview 是一款扩展自android imageview ,支持通过单点/多点触摸来进行图片缩放的智能控件。特性:

1,支持单点/多点触摸,即时缩放图片;

2,支持平滑滚动;

3,在滑动父控件下能够运行良好;(例如:viewpager)

源地址:https://github.com/chrisbanes/photoview

②:volley(google网络通信框架)

在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于asynctaskloader,httpurlconnection,asynctask,httpclient(apache)等,今年的google

i/o 2013上,volley发布了。volley是android平台上的网络通信库,能使网络通信更快,更简单,更健壮。

这是volley名称的由来: a burst or emission of many things or a large amount at once

源地址:

官方:https://android.googlesource.com/platform/frameworks/volley

翻译:http://blog.csdn.net/t12x3456/article/details/9221611

③:android-autoupdater(android客户端自动升级库)

android-autoupdater 是一个用于android客户端自动升级的库。主要特性如下:

1、扩展性强,可以自定义ui

2、使用简单,不需要独立的服务器

3、支持json和xml

4、操作智能,所有逻辑已经实现,只需要修改ui,即可。

源地址:https://github.com/snowdream/android-autoupdater/releases

④:android-downloader(下载库)

一个用于下载的android库。主要特性如下:

1、使用简单,最少只需要下载地址即可;

2、可以猜测下载任务名称

3、自动设置下载路径

4、支持断点续传

5、所有监听返回的接口,例如onadd等,都支持ui操作

源地址:https://github.com/snowdream/android-downloader

⑤:afreechart(图表库)

afreechart是一个很强大的图表库,支持股票曲线图,饼图,曲线等。

源地址:https://code.google.com/p/afreechart

⑥:afinal(整体框架)

afinal是一个orm、ioc框架,遵循约定大于配置原则,无需任何配置即可完成所有工作,但也可以通过配置达到个人的个性化需求。

afinal提倡代码快速简洁,尽量一行代码完成的事情不会用两行。

afinal里面目前包含了四大组件:

,1,finalhttp:用于请求http数据,直接ajax方式请求,文件上传, 断点续传下载文件等

,2,finalbitmap:用于显示bitmap图片,而无需考虑线程并发和oom等问题。

,3,finalactivity:完全可以通过注解方式绑定控件和事件,无需编写代码。

,4,finaldb:android中sqlite的orm框架,一行代码搞定增删改查。

源地址:https://github.com/yangfuhai/afinal

⑦:xutils(整体框架)

xutils 包含了很多实用的android工具。

xutils 最初源于afinal框架,进行了大量重构,使得xutils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的orm,更多的事件注解支持且不受混淆影响...

xuitls最低兼容android 2.2 (api level 8)

目前xutils主要有四大模块:

dbutils模块:

android中的orm框架,一行代码就可以进行增删改查;

支持事务,默认关闭;

可通过注解自定义表名,列名,外键,唯一性约束,not null约束,check约束等(需要混淆的时候请注解表名和列名);

支持绑定外键,保存实体时外键关联实体自动保存或更新;

自动加载外键关联实体,支持延时加载;

支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。

viewutils模块:

android中的ioc框架,完全注解方式就可以进行ui,资源和事件绑定;

新的事件绑定方式,使用混淆工具混淆后仍可正常工作;

目前支持常用的20种事件绑定,参见viewcommoneventlistener类和包com.lidroid.xutils.view.annotation.event。

httputils模块:

支持同步,异步方式的请求;

支持大文件上传,上传大文件不会oom;

支持get,post,put,move,copy,delete,head,options,trace,connect请求;

下载支持301/302重定向,支持设置是否根据content-disposition重命名下载的文件;

返回文本内容的请求(默认只启用了get请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。

bitmaputils模块:

加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;

支持加载网络图片和本地图片;

内存管理使用lru算法,更好的管理bitmap内存;

可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...

源地址:https://github.com/wyouflf/xutils

⑧:thinkandroid(整体框架)

thinkandroid是一个免费的开源的、简易的、遵循apache2开源协议发布的android开发框架,其开发宗旨是简单、快速的进行 android应用程序的开发,包含android mvc、简易sqlite

orm、ioc模块、封装android httpclitent的http模块, 具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能, 在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类, 如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具。

目前thinkandroid主要有以下模块:

mvc模块:实现视图与模型的分离。

ioc模块:android中的ioc模块,完全注解方式就可以进行ui绑定、res中的资源的读取、以及对象的初始化。

数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。

http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。

缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置

图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。

配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持preference、properties对配置进行存取。

日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印

下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。

网络状态检测模块:当网络状态改变时,对其进行检测。

源地址:https://github.com/white-cat/thinkandroid

暂时这些组件,框架,如有未公布的欢迎留言或发邮件([email protected])我会及时加上。