• android各类开发框架汇总


    对于Android初学者以及对于我们菜鸟,这些大神们开发的轻量级框架非常有用(更别说开源的了)。

           下面转载这10个框架的介绍:(按顺序来吧没有什么排名)。

    一、  Afinal

    官方介绍:

    Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。详情请通过以下网址查看。

    Afinal 是一个android的sqlite orm 和 ioc 框架。同时封装了android中的http框架,使其更加简单易用;

    使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。

    Afinal的宗旨是简洁,快速。约定大于配置的方式。尽量一行代码完成所有事情。

    项目地址:https://github.com/yangfuhai/afinal

    功能:

    一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。

    优点:功能比较全面,文档完善,代码效率比较高。

    缺点:没有项目demo,框架的时间比较久,代码冗余比较多(这也是无可避免的),文档比较老跟不上代码更新进度。

    (这个评价是其他高人评的,他自己也有写了框架。我个人觉得以前Afinal算是经典了 用的人多)。

    二、  xUtils

    git地址:https://github.com/wyouflf/xUtils

    xUtils:可以说是Afinal的升级版。

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

    xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...

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

     

    三、  ThinkAndroid

    项目地址:https://github.com/white-cat/ThinkAndroid

    官方介绍

    ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent的http模块,具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能,在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类,如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具

    优点:功能看起来比较完善。个人觉得名字起的好。

    缺点:从2013年就停止维护了,没有项目文档。

    四、  LoonAndroid

    官方介绍:

    如果你想看ui方面的东西,这里没有,想要看牛逼的效果这里也没有。这只是纯实现功能的框架,它的目标是节省代码量,降低耦合,让代码层次看起来更清晰。整个框架一部分是网上的,一部分是我改的,为了适应我的编码习惯,还有一部分像orm完全是网上的组件。在此感谢那些朋友们。 整个框架式的初衷是为了偷懒,之前都是一个功能一个jar,做项目的时候拉进去,这样对于我来说依然还是比较麻烦。最后就导致我把所有的jar做成了一个工具集合包。 有很多框架都含有这个工具集合里的功能,这些不一定都好用,因为这是根据我个人使用喜欢来实现的,如果你们有自己的想法,可以自己把架包解压了以后,源码拉出来改动下。 目前很多框架都用到了注解,除了androidannotations没有入侵我们应用的代码以外,其他的基本上都有,要么是必须继承框架里面的activity,要么是必须在activity的oncreat里面调用某个方法。 整个框架式不同于androidannotations,Roboguice等ioc框架,这是一个类似spring的实现方式。在整应用的生命周期中找到切入点,然后对activity的生命周期进行拦截,然后插入自己的功能。

    开源地址:https://github.com/gdpancheng/LoonAndroid

    功能:

    1自动注入框架(只需要继承框架内的application既可)

    2图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)

    3网络请求模块(继承了基本上现在所有的http请求)

    4 eventbus(集成一个开源的框架)

    5验证框架(集成开源框架)

    6 json解析(支持解析成集合或者对象)

    7 数据库(不知道是哪位写的 忘记了)

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

    9 自动更新模块

    10 一系列工具类

    有点:功能多

    缺点:文档方面

    五、   KJFrameForAndroid

    项目地址https://github.com/kymjs/KJFrameForAndroid

    官方介绍:

    KJFrameForAndroid 又叫KJLibrary,是一个android的orm 和 ioc 框架。同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用;
    KJFrameForAndroid的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全的开发APP。我们提倡用最少的代码,完成最多的操作,用最高的效率,完成最复杂的功能。

    功能:

    一个android的orm 和 ioc 框架。同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用; KJFrameForAndroid开发框架的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全的开发APP。总共分为五大模块:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。

    优点:功能比较全面,代码效率很高,文档完善,有项目demo,出来的比较晚借鉴了很多大型框架经验。

    缺点:项目文档是html页面,查看起来很不方便,项目交流平台没多少人说话(难道大神都是不说话的?)

    (这两个评价是KJFrameForAndroid的作者对自己的评价,个人觉得作者是个天才。他的评价可能刚写完网上发布后写的。我在给他更新评价。因为现在已经过去了几个月一直在时不时更新。功能很全,项目文档也很全面,而且代码里注释最多 这方面这个很难得。交流平台人很多挺热闹,作者希望更热闹这样框架越来越完善。对于初学者希望看到Demo更完善)

    六、  dhroid

    官方介绍

    dhroid 是基于android 平台, 极速开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展.使你更快,更好的开发商业级别应用

    开源地址: http://git.oschina.net/tengzhinei/dhroid

    功能

    1.Ioc容器: (用过spring的都知道)视图注入,对象注入,接口注入,解决类依赖关系

    2.Eventbus: android平台事件总线框架,独创延时事件,事件管理轻松

    3.Dhnet: 网络http请求的解决方案,使用简单,减少代码,自带多种网络访问缓存策略

    4.adapter模块: 数据绑定轻松,不用写多余的adapter,天生网络支持(一行代码搞定加载,刷新问题)

    5.DhDb: android中sqlite的最轻量orm框架(增删改查轻松搞定)

    6.Perference: android自带Perference 升级版,让你的Perference更强大,更方便

    工具集合 JSONUtil(安全处理json),ViewUtil(数据绑定更快) ThreadWorker(异步任务工具)...

    优点:功能全面,有demo,作者也是为公司开发的框架。

    缺点:文档方面现在不是很好,就eoe上的那些。

    七、  SmartAndroid

    项目地址:http://www.aplesson.com/smartAndroid/demos

    官方介绍

    SmartAndroid是一套给 Android开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 SmartAndroid可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。

    功能

    SmartAndroid 拥有全范围的类库,可以完成大多数通常需要的APP开发任务,包括: 异步网络操作相关所有功能、强大的图片处理操作、轻量级ORM数据库Sqlite库、zip操作 、动画特效、Html等解析采集、事件总线EventBus/Otto、Gson(Json)、AQuery、主流所有UI控件(例如:ActionbarSherlock,SlidingMenu,BottomView,Actionbar,DragListView等10多种UI库)等。

    优点:功能非常全,超出你索要、文档完善(作者很全面,官方网站是web响应式网站,框架里功能有UI各种特效应该最全了,一直更新中)

    缺点:jar包大点?(功能多不可避免,不是问题),在线文档(随响应式的手机访问也方便,但是网速慢就不好了,页面打开不是很流畅)

    八、  andBase

    官方介绍:

    andbase是为Android开发者量身打造的一款开源类库产品

    开源地址:https://code.jd.com/zhaoqp2010_m/andbase

    功能:

    1.andbase中包含了大量的开发常用手段。

    如网络下载,多线程与线程池的管理,数据库ORM,图片缓存管理,图片文件下载上传,Http请求工具,常用工具类(字符串,日期,文件处理,图片处理工具类等),能够使您的应用在团队开发中减少冗余代码,很大的提高了代码的维护性与开发高效性,能很好的规避由于开发疏忽而导致常犯的错误。

    2.andbase封装了大量的常用控件。

    list分页,下拉刷新,图片轮播,表格,多线程下载器,侧边栏,图片上传,轮子选择,图表,Tab滑动,日历选择器等。

    3.强大的AbActivity,您没有理由不继承它。

    继承它你能够获得一个简单强大可设置的操作栏,以及一系列的简单调用,如弹出框,提示框,进度框,副操作栏等。

    4.提供效率较高图片缓存管理策略,使内存大幅度节省,利用率提高,效率提高。

    程序中要管理大量的图片资源,andbase提供简单的方法,几步完成下载与显示,并支持缩放,裁剪,缓存功能。

    5.封装了大量常见工具类。

    包括日期,字符,文件,图片等各种处理函数,多而全。

    6.andbase大量减少handler的使用,而采用回调函数,代码更整洁。

    handler会产生大量代码,并且不好维护,andbasehandler进行了封装。

    7.简单轻量支持注解自动建表的ORM框架(支持一/多对多的关联操作)。

    sql,建表,工作量大,andbase提供更傻瓜异步增删改查工具类。

    8.异步请求http框架,网络请求标准化,支持文件上传下载,getpost,进度显示。

    包含了异步与http请求的工具类,实用。

    9.热情的支持群体。

    优点:功能很全,demo做的好 、API文档完善、接近完美

    缺点:希望文档更详细些。

    九、  AndroidAnnotations

    项目地址https://github.com/excilys/androidannotations

    功能:

    完全注解框架,一切皆为注解:声明控件,绑定控件,设置监听,setcontentview,长按事件,异步线程,全部通过注解实现。

    优点:完全的注解,使开发起来更加便利,程序员写的代码也更少。

    缺点:文档是全英文的加上功能比较少没有具体研究,由于一切都是注解,感觉效率不高,不过根据官方介绍说并不是使用的反射加载,所以效率比一般注解高很多。

    十、  volley

     

    项目地址 https://github.com/smanikandan14/Volley-demo

    功能:

    Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮异步加载网络图片、网络数据

    优点:Google官方推荐,请看去年的开发者大会介绍。

    缺点:功能比较少,只有网络数据加载和网络图片加载

    十一、   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 

    有点:很简单很实用

    缺点:功能比较少, (只是针对的功能不是什么缺点)

    十二、   ……

     


    最后来个总结吧:

           以上的开发框架网上都可以下载源码,也有demo实例的。当然我没分析和对比框架的效率性能,但是都非常实用,其作者大部分是个人,都是些牛人或天才。你可以直接使用,也可以把有用跳出来用,至少有很多使用工具。如果有发现Bug,作者希望把bug交给他。

           Afinal 和 xUtils简单实用但是demo和更新的问题。

    KJFrameForAndroid 算是新出的,功能也多,效率也应该好,代码也注释多 用起来也很方便。

    Dhroid 作者自己公司的框架,也可以直接请教。

    SmartAndroid 强劲的框架功能俱全。

    andBase 出来早各个方面算是完整的吧。

    有什么问题可以直接加各各交流群直接问作者。

    希望这些开发框架以后更好的完善demo和文档,这样大家更好的了解、学习、投入使用。时时关注

  • 相关阅读:
    [题解]luogu-P1494 小Z的袜子 普通莫队
    [板子] 线性基
    [板子]字符串-KMP与AC自动机
    [板子]线段树求逆序对
    任务表
    [学习笔记]数列分块入门九题[LOJ6277-6285]
    Python常用高级函数
    Python的闭包和装饰器
    Python的迭代器和生成器
    Python的命名空间
  • 原文地址:https://www.cnblogs.com/dandre/p/4507021.html
Copyright © 2020-2023  润新知