.概述

现android开发有很多开发框架使用,做App不一定用到框架,但好框架的思想也是值得学习。选择合适的开发框架可提供实用功能,简化项目开发提升效率。

.Afinal框架

简介

Afinal是一个android的Sqlite orm和ioc框架,封装android中Http框架简单易用。宗旨是简洁快速,约定大于配置原则。尽量一行代码完成所有事情。

项目地址

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不建议使用弱引用,2.3后强制回收软引用和弱引用),更好的管理bitmap内存,FinalBitmap可以自定义下载器用来扩展其它协议网络图片显示(ftp等),同时可以自定义Bitmap显示器在imageView显示图片时播放动画(默认渐变动画)。

.XUtils框架

简介

xUtils包含很多实用android工具,支持大文件上传更全面http请求协议支持,更加灵活的ORM更多事件注解支持且不受混淆影响,最低兼容android2.2。

项目地址

https://github.com/wyouflf/xUtils

功能模块介绍

1)       DbUtils模块:android中orm框架,一行代码可进行增删改查;支持事务,默认关闭;通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(混淆时需注解表名和列名)。

2)       ViewUtils模块:android中ioc框架,完全注解方式进行UI,资源,事件绑定;新事件绑定方式,代码混淆后仍可以正常工作。目前支持20中事件绑定,参见ViewCommonEventListener类和com.lidroid.xutils.view.annotation.event。

3)       HttpUtils模块:支持同步,异步方式请求;支持大文件上传不会oom;支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;下载支持301/302重定向,支持设置是否需要根据Content-Disposition重命名下载文件;返回文本内容的请求(默认只启用GET请求)支持缓存,可设置默认过期时间和当前请求过期时间。

4)       BitmapUtils模块:加载bitmap时无需考虑bitmap加载中出现oom和android容器快速滑动时图片错位;支持网络图片和本地图片加载;内存管理使用lru算法;可配置线程加载数量,缓存大小,缓存路径,加载动画等。

 

.ThinkAndroid框架

简介

ThinkAndroid是遵循Apache2开源协议发布的android开发框架,其开发宗旨简单,快速进行android程序开发。

项目地址

https://github.com/white-cat/ThinkAndroid

功能模块介绍

1)       MVC模块:实现视图和模型分离。

2)       Ioc模块:android中ioc模块完全注解方式实现UI绑定,res资源读取,对象初始化。

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

4)       http模块:通过httpclient封装http请求,支持同步异步加载。

5)       缓存模块:简单配置和设计实现很好的缓存。

6)       图片缓存模块:image加载无需考虑oom和android容器快速滑动时图片错位。

7)       配置器模块:简易实现配对配置操作,目前支持Preference,Properties。

8)       日志打印模块:轻易实现日志打印,支持日志扩展,目前支持sdcard写入本地日志,控制台打印。

9)       下载器模块:实现多线程后台下载,断点续传,对下载进行控制可开始,暂停,删除等。

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

.LoonAndroid框架

简介

类似Spring实现方式,在应用生命周期中找到切入点对Activity生命周期进行拦截插入自己功能。纯框架无UI和特效,初衷为开发偷懒,框架中集合了很多工具集合包。

项目地址

https://github.com/gdpancheng/LoonAndroid

功能模块介绍

1)       自动注入模块:只需继承框架内application即可。

2)       图片加载:多重缓存,自动回收,最大限度保证内存安全。

3)       网络请求:实现所有http请求

4)       Eventbus:集成一个开源框架

5)       验证框架:集成验证框架

6)       Json解析:支持解析成集合或对象

7)       数据库

8)       多线程断点下载,自动判断是否支持多线程和重定向

9)       自动更新模块

10)   一系列工具类

 

.KJFrameForAndroid框架

简介

KJFrameForAndroid又叫JLibrary是android orm和ioc框架,封装Bitmap和http操作框架,简单易用。使用最少代码,完成最多操作,有最高效率,完成最复杂功能。

项目地址

https://github.com/kymjs/KJFrameForAndroid

功能模块介绍

1)       Plugin模块:apk无需安装即可被应用调用;Activity动态加载(生命周期和交互事件,R文件资源引用,插件与App数据通讯);Fragment完美加载使用;动态注册BroadcastReceiver;完美使用绑定式,启动式Service;模拟LaunchMode效果(launchModer实际是一个虚拟的,生命周期调用还是一样的,仅仅模拟出系统BackStack);完美集成KJFrameForAndroid中UiLibrary->Topology全部功能,支持注解绑定控件并设置监听。

2)       UILibrary模块:Widget封装常用控件上下拉的KJListView,KJScrollView,双指缩放旋转ScaleImageView等(具体看项目org.kymjs.aframe.widget)。Topology拓扑,规范Activity中数据及控件的初始化包含使用IOC设计思想的控件初始化方式。通过注解绑定UI设置监听。包含常见的布局界面,侧滑特效,高效的Tab导航,3D效果切换。为开发者定义完善的BaseActivity和BaseFragment,只需继承就可以获得Topology全部功能。

3)       BitmapLibrary模块:任何View加载图片时都无需考虑OOM和android容器快速滑动时出现图片错位问题,默认使用Lru算法管理缓存。

4)       HttpLibrary模块:KJLibrary默认对所有Http通讯数据做缓存处理,缓存时间为5分钟。节省流量,减轻服务器压力。HttpLibrary使用HttpClient与HttpUrlConnection两种方式实现网络通讯,数据上传,多线程断点下载。根据Google建议2.3之前由于HttpUrlConnection不稳定且有bug尽量使用HttpClient,2.3系统后只是简单的数据交互应该使用更轻量级,易扩展的HttpUrlConnection。

5)       DBLibrary模块:包含android的orm框架,一行代码完成增删改查。支持一对多,多对一等查询。DB模块很大程度上参考了finalDB设计,并在此基础上完善全部API注释与更多可定制的DB操作。

6)       UtilsLibrary模块:包含应用开发常用工具类,如系统级别Log管理,网络状态监测,Bitmap压缩类,获取屏幕宽高及单位转换,错误信息处理,文件处理,Preference,字符串操作与常用正则判断等(具体查看项目org.kymjs.aframe.utils)。

Android开发框架介绍相关推荐

  1. 【转】值得推荐的android开发框架简介

    转载地址:http://my.oschina.net/kymjs/blog/298099 摘要 整理出来的android(安卓)开发框架,个个都堪称经典,而且全部都是开源的,很好的学习资料. KJFr ...

  2. Uni-App开发框架介绍

    Uni-App开发框架介绍 1. Uni-App简介 Uni-App是一家公司(DCloud)产品,公司承诺将一直开源且免费. 公司旗下有4个产品: HBuilder X:开发工具 uni-app:跨 ...

  3. Android开发框架汇总

    自开发Android已有两年多,接触到很多优秀的框架.觉得很有必要汇总一下,以便日后查阅. 帖子以后还会更新,总有新奇发生嘛. 1,最初接触到的Android开发框架是afinal,这里贴一个给git ...

  4. 一个快速、完善的Android开发框架整合实践(QuickAndroid)

    https://github.com/alafighting/QuickAndroid QuickAndroid 一个快速.完善的Android开发框架整合实践 QA项目简介 本框架QuickAndr ...

  5. Android开发框架afinal实践

    ADT下使用Android开发框架afinal,具体参考网址:http://blog.csdn.net/liranke/article/details/9499957 开发步骤: 1. 创建一个And ...

  6. android AsyncTask介绍(转)

    android AsyncTask介绍 AsyncTask和Handler对比 1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接 ...

  7. SlickOne 敏捷开发框架介绍(二) -- 多用户/多租户/SAAS软件基础框架实现

    前言:在应用于集团版客户或SAAS平台服务的业务系统中,流程管理系统需要支持多用户组织模型.其中包括角色数据.流程定义数据和流程实例数据的多用户标识绑定.本文旨在全面描述如何基于SlickOne敏捷开 ...

  8. Android类库介绍

    Android类库介绍 GPhone开发包Android SDK含了很多丰富的类库: android.util 涉及系统底层的辅助类库 android.os 提供了系统服务.消息传输.IPC管道 an ...

  9. AliOS Things蓝牙协议栈及应用开发框架介绍

    摘要: AliOS Things从1.2.0版本开始支持蓝牙协议栈(BLE),及基于蓝牙协议栈的应用层开发框架.本文分为三部分对蓝牙组件进行介绍:蓝牙组件,蓝牙协议栈介绍及接口说明,和应用开发框架介绍 ...

最新文章

  1. 镗孔指令g76格式_11种孔加工固定循环指令+1个案例=完美解决孔加工问题
  2. python几种排序_python各种排序算法
  3. create maven android project
  4. HDU 2112 HDU Today lt;SPFA算法+map函数gt;
  5. appframework3.0(JQmobi)入门教程
  6. ui设计师常用的设计工具_2020年应该使用哪个UI设计工具?
  7. 离散数学笔记整理(个人向)
  8. win10如何安装Java虚拟机_vmware 安装win10虚拟机
  9. 微信公众号(服务号、订阅号、企业号)的区别
  10. 【CV】MobileNet:使用深度可分离卷积实现用于嵌入式设备的 CNN 架构
  11. 如何成为一名优秀的技术Leader?
  12. shell递归遍历目录中的所有文件、文件夹
  13. iscsi 远程连接磁盘
  14. 使用Python调用opencv学习(-)打开图片,显示图片
  15. STM32 TM1650数码管显示与按键识别
  16. 苹果刷机有好处和坏处_苹果更新要通电源吗
  17. 取多条记录时报数组越界异常_9D sp1使用DMap出图报数组越界异常
  18. stata豪斯曼检验报错
  19. 财报季 | 涂鸦智能Q2营收翻倍,股价却再创新低,高瓴资本开始亏钱
  20. linux定时任务整点执行,Linux 设置定时任务crontab命令

热门文章

  1. oracle中include,impdpexpdp的content和include选项
  2. 组件化攻略 - 代码物理隔离
  3. 秒杀超卖 解决方案(史上最全)
  4. 离散世界模型,带你轻松玩转 Atari 游戏
  5. IP转换软件请求过于频繁的原因是什么?
  6. 12.18 Daily Scrum
  7. 下载到的电子书格式是epub,这种格式如何打开?
  8. idw matlab 程序_matlab小波变换程序
  9. Surface RT and Surface Pro
  10. 华为发布云管理网络2.0,智简云网络唾手可得