常用Android开源框架
1、volley
项目地址 https://github.com/smanikandan14/Volley-demo
(1) JSON,异步下载图片;
(2) 网络请求的排序(scheduling)
(3) 网络请求的优先级处理
(4) 缓存
(5) 多级别取消请求
(6) 和Activity和生命周期的联动(Activity结束时同一时候取消全部网络请求)
2、android-async-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
3、Afinal框架
项目地址:https://github.com/yangfuhai/afinal
主要有四大模块:
(1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。
(2) 注解模块:android中的ioc框架,全然注解方式就能够进行UI绑定和事件绑定。无需findViewById和setClickListener等。
(3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式载入,支持下载、上传文件功能。
(4) 图片缓存模块:通过FinalBitmap,imageview载入bitmap的时候无需考虑bitmap载入过程中出现的oom和android容器高速滑动时候出现的图片错位等现象。
FinalBitmap能够配置线程载入线程数量,缓存大小。缓存路径,载入显示动画等。FinalBitmap的内存管理使用lru算法,
没有使用弱引用(android2.3以后google已经不建议使用弱引用,android2.3后强行回收软引用和弱引用,详情查看android官方文档),
更好的管理bitmap内存。FinalBitmap能够自己定义下载器,用来扩展其它协议显示网络图片,比方ftp等。同一时候能够自己定义bitmap显示器。
在imageview显示图片的时候播放动画等(默认是渐变动画显示)。
4、xUtils框架
项目地址:https://github.com/wyouflf/xUtils
主要有四大模块:
(1) 数据库模块:android中的orm框架,一行代码就能够进行增删改查;
支持事务。默认关闭;
可通过注解自己定义表名。列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(须要混淆的时候请注解表名和列名);
支持绑定外键,保存实体时外键关联实体自己主动保存或更新;
自己主动载入外键关联实体,支持延时载入;
支持链式表达查询。更直观的查询语义,參考以下的介绍或sample中的样例。
(2) 注解模块:android中的ioc框架,全然注解方式就能够进行UI,资源和事件绑定;
新的事件绑定方式。使用混淆工具混淆后仍可正常工作;
眼下支持经常使用的20种事件绑定。參见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
(3) 网络模块:支持同步,异步方式的请求。
支持大文件上传,上传大文件不会oom;
支持GET,POST。PUT。MOVE,COPY,DELETE,HEAD。OPTIONS,TRACE,CONNECT请求。
下载支持301/302重定向。支持设置是否依据Content-Disposition重命名下载的文件。
返回文本内容的请求(默认仅仅启用了GET请求)支持缓存。可设置默认过期时间和针对当前请求的过期时间。
(4) 图片缓存模块:载入bitmap的时候无需考虑bitmap载入过程中出现的oom和android容器高速滑动时候出现的图片错位等现象;
支持载入网络图片和本地图片;
内存管理使用lru算法。更好的管理bitmap内存;
可配置线程载入线程数量。缓存大小,缓存路径,载入显示动画等...
5、ThinkAndroid
项目地址:https://github.com/white-cat/ThinkAndroid
主要有下面模块:
(1) MVC模块:实现视图与模型的分离。
(2) ioc模块:android中的ioc模块。全然注解方式就能够进行UI绑定、res中的资源的读取、以及对象的初始化。
(3) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。
(4) http模块:通过httpclient进行封装http数据请求。支持异步及同步方式载入。
(5) 缓存模块:通过简单的配置及设计能够非常好的实现缓存,对缓存能够任意的配置
(6) 图片缓存模块:imageview载入图片的时候无需考虑图片载入过程中出现的oom和android容器高速滑动时候出现的图片错位等现象。
(7) 配置器模块:能够对简易的实现配对配置的操作,眼下配置文件能够支持Preference、Properties对配置进行存取。
(8) 日志打印模块:能够较快的轻易的是实现日志打印,支持日志打印的扩展,眼下支持对sdcard写入本地打印、以及控制台打印
(9) 下载器模块:能够简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如開始、暂停、删除等等。
(10) 网络状态检測模块:当网络状态改变时,对其进行检
6、LoonAndroid
项目地址:https://github.com/gdpancheng/LoonAndroid
主要有下面模块:
(1) 自己主动注入框架(仅仅须要继承框架内的application既可)
(2) 图片载入框架(多重缓存,自己主动回收,最大限度保证内存的安全性)
(3) 网络请求模块(继承了基本上如今全部的http请求)
(4) eventbus(集成一个开源的框架)
(5) 验证框架(集成开源框架)
(6) json解决(支持解析为一个集合或对象)
(7) 数据库(我不知道是谁写 遗忘)
(8) 多线程断点下载(自己主动来推断是否支持多线程,推断是否重定向)
(9) 自己主动更新模块
(10) 一系列的工具
常用Android开源框架的更多相关文章
- Android常用优秀开源框架
Android常用优秀开源框架 https://github.com/Ericsongyl/AOSF AOSF:全称为Android Open Source Framework,即Android优秀开 ...
- android 开源框架推荐
同事整理的 android 开源框架,个个都堪称经典.32 个赞! 1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JS ...
- 六款值得推荐的Android开源框架简介
技术不再多,知道一些常用的.不错的就够了.下面就是最近整理的“性价比”比较高的Android开源框架,应该是相对实用的. 1.volley 项目地址 https://github.com/smanik ...
- iOS开发-常用第三方开源框架介绍
iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...
- Android 开源框架Universal-Image-Loader学习
Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用 Android 开源框架Universal-Image-Loader完全解析(二)--- 图片 ...
- Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/39057201),请尊重他人的辛勤劳动成果,谢谢! 本篇文章 ...
- Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/26810303),请尊重他人的辛勤劳动成果,谢谢! 本篇文章 ...
- Android进阶笔记13:RoboBinding(实现了数据绑定 Presentation Model(MVVM) 模式的Android开源框架)
1.RoboBinding RoboBinding是一个实现了数据绑定 Presentation Model(MVVM) 模式的Android开源框架.从简单的角度看,他移除了如addXXListen ...
- Android 开源框架Universal-Image-Loader全然解析(二)--- 图片缓存策略具体解释
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/26810303),请尊重他人的辛勤劳动成果,谢谢! 本篇文章 ...
随机推荐
- nginx 源码安装
安装环境: 操作系统:Ubuntu 12.04 Nginx: V1.4.2 PCRE: V8.33 zlib: V1.2.8 下载上述源包到当前用户主目录(本机:/hom ...
- 微信支付.net官方坑太多,我们来精简
原文:微信支付.net官方坑太多,我们来精简 微信支付官方坑太多,我们来精简 我把官方的代码,打包成了 an.wxapi.dll. 里面主要替换了下注释.呵呵.然后修改了几个地方. 修改一.Confi ...
- Graphical Shell with WebShell - WebOS Internals
Graphical Shell with WebShell - WebOS Internals Graphical Shell with WebShell From WebOS Internals J ...
- Cocos2dx 3.x创建Layer的步骤
创建 1.新建类文件.注意文件夹为Classes下.否则文件不能正常找到. 2.改动预编译头.如用VS,默觉得#pragma once,为了兼容,改为#ifndef | #define | #endi ...
- JavaScript发展史,与JScript差别,引入方式,数据类型,命名规范,命名推荐,解决命名冲突
文件夹: 1.JavaScript发展史 2.JavaScript与JScript差别 3.JavaScript引入方式 4.JavaScript基本数据类型及布尔值 5.JavaScript命名规范 ...
- Discount Diesel Time 9150-1 Quartz Wrist watch [WAT022]- US$4.49
Discount Diesel Time 9150-1 Quartz Wrist watch [WAT022]- US$4.49 Diesel Time 9150-1 Quartz Wrist wat ...
- android中更改spinner、AutoCompleteTextView切割线的颜色
话说去除切割线的方法找了非常久也没找到,最终发现了更改切割线的方法 spinner和AutoCompleteTextView提示列表中间有一条黑色的切割线.想要改变它的颜色值,就要重写style. 1 ...
- AE+SceneControl源代码共享
近来的,博友发私信或邮件交换,第一次使用前SceneControl代做一点project股票,做的很粗糙.我们希望对大家有帮助,欢迎留言交流哈萨克斯坦. 除了主开.保存.数据加载.询价,几个功能主要是 ...
- ie6下margin双倍距的问题
今天中午休息时, 公司客服突然报出来一个bug, 一个用ie6的用户打开我们活动网站时, 发现内容都错乱了, 我赶紧上线一看, 发现是正常的. 找了台ie6的xp机器再看了下, 重现出了这个用户的问题 ...
- Jquery清除:hover事件
$("#hover_div").unbind("mouseenter").unbind("mouseleave"); 可用于div按钮,造成 ...