Android快速开发框架大全

时间:2021-07-16 03:26:07
在开发过程中,使用一些封装好的框架,可以节约时间,减少代码量。 因为这些框架将常用的功能模块封装好,开发的时候只需简单的代码进行调用。 为了方便工作中的不时之需,特将一些框架及地址收集起来。 以下只是冰山一角,还需继续补充完善。 也希望看到的朋友多提建议,多推荐优秀的框架。先行谢过!
--------------------------------------------------------------------------------------- 网络通信: Volley - https://android.googlesource.com/platform/frameworks/volley            -https://github.com/smanikandan14/Volley-demo


OkHttp - HttpURLConnection和HttpClient 
                 https://github.com/square/okhttp
使用教程   http://blog.csdn.net/xiahao86/article/details/44753513
网络请求 (get , post)android-async-http
      https://github.com/loopj/android-async-http

图片加载:

 Universal Image Loader - https://github.com/onlyTan/Android-Universal-Image-Loader

用法参考 -http://blog.csdn.net/xiaanming/article/details/26810303


动画框架:  nineoldandroids -  https://github.com/JakeWharton/NineOldAndroids用法参考 -http://blog.csdn.net/lmj623565791/article/details/38067475


进程间通信框架:   eventBus -  https://github.com/greenrobot/EventBus用法参考 - http://blog.csdn.net/lmj623565791/article/details/40794879


SQLite数据库

LitePal - 

https://github.com/LitePalFramework/LitePal
简化SQLite操作,郭婶力作。

百分比布局:

android-percent-support-extend  -  

https://github.com/hongyangAndroid/android-percent-support-extend鸿洋百分比布局库(percent-support-lib)进行的扩展


内存泄露检测:LeakCanaryhttps://github.com/square/leakcanary
中文使用说明  http://www.liaohuqiu.net/cn/posts/leak-canary-read-me/


--------------------------------------综合:   Afinal  - https://github.com/yangfuhai/afinal
  • FinalDB模块:android中的orm框架,一行代码就可以进行增删改查。支持一对多,多对一等查询。

  • FinalActivity模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。

  • FinalHttp模块:通过httpclient进行封装http数据请求,支持ajax方式加载。

  • FinalBitmap模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。FinalBitmap可以配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等。FinalBitmap的内存管理使用lru算法,没有使用弱引用(android2.3以后google已经不建议使用弱引用,android2.3后强行回收软引用和弱引用,详情查看android官方文档),更好的管理bitmap内存。FinalBitmap可以自定义下载器,用来扩展其他协议显示网络图片,比如ftp等。同时可以自定义bitmap显示器,在imageview显示图片的时候播放动画等(默认是渐变动画显示)。


  xUtils  - https://github.com/wyouflf/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内存;
    • 可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...

  ThinkAndroid -  https://github.com/white-cat/ThinkAndroid 
  • MVC模块:实现视图与模型的分离。

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

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

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

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

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

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

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

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

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

LoonAndroid -  https://github.com/gdpancheng/LoonAndroid
  • 1自动注入框架(只需要继承框架内的application既可)
  • 2图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)
  • 3网络请求模块(继承了基本上现在所有的http请求)
  • 4 eventbus(集成一个开源的框架)
  • 5验证框架(集成开源框架)
  • 6 json解析(支持解析成集合或者对象)
  • 7 数据库(不知道是哪位写的 忘记了)
  • 8 多线程断点下载(自动判断是否支持多线程,判断是否是重定向)
  • 9 自动更新模块
  • 10 一系列工具类
========================================================
-------------以下转载自http://www.devstore.cn/essay/essayInfo/6662.html-------------------

Android通用流行框架大全


1. 缓存

名称 描述
DiskLruCache Java实现基于LRU的磁盘缓存

2.图片加载

名称 描述
Android Universal Image Loader 一个强大的加载,缓存,展示图片的库
Picasso 一个强大的图片下载与缓存的库
Fresco 一个用于管理图像和他们使用的内存的库
Glide 一个图片加载和缓存的库

3. 图片处理

名称 描述
Picasso-transformations 一个为Picasso提供多种图片变换的库
Glide-transformations 一个为Glide提供多种图片变换的库
Android-gpuimage 基于OpenGL的Android过滤器

4. 网络请求

名称 描述
Android Async HTTP Android异步HTTP库
AndroidAsync 异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程。
OkHttp 一个Http与Http/2的客户端
Retrofit 类型安全的Http客户端
Volley Google推出的Android异步网络请求框架和图片加载框架

5. 网络解析

名称 描述
Gson 一个Java序列化/反序列化库,可以将JSON和java对象互相转换
Jackson Jackson可以轻松地将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象
Fastjson Java上一个快速的JSON解析器/生成器
HtmlPaser 一种用来解析单个独立html或嵌套html的方式
Jsoup 一个以最好的DOM,CSS和jQuery解析html的库

6. 数据库

名称 描述
OrmLite JDBC和Android的轻量级ORM java包
Sugar 用超级简单的方法处理Android数据库
GreenDAO 一种轻快地将对象映射到SQLite数据库的ORM解决方案
ActiveAndroid 以活动记录方式为Android SQLite提供持久化
SQLBrite SQLiteOpenHelper 和ContentResolver的轻量级包装
Realm 移动数据库:一个SQLite和ORM的替换品

7. 依赖注入

名称 描述
ButterKnife 将Android视图和回调方法绑定到字段和方法上
Dagger2 一个Android和java快速依赖注射器。
AndroidAnotations 快速安卓开发。易于维护
RoboGuice Android平台的Google Guice

8. 图表

名称 描述
WilliamChart 创建图表的Android库
HelloCharts 兼容到API8的Android图表库
MPAndroidChart 一个强大的Android图表视图/图形库

9. 后台处理

名称 描述
Tape 一个轻快的,事务性的,基于文件的FIFO的库
Android Priority Job Queue 一个专门为Android轻松调度任务的工作队列

10. 事件总线

名称 描述
EventBus 安卓优化的事件总线,简化了活动、片段、线程、服务等的通信
Otto 一个基于Guava的增强的事件总线

11. 响应式编程

名称 描述
RxJava JVM上的响应式扩展
RxJavaJoins 为RxJava提供Joins操作
RxAndroid Android上的响应式扩展,在RxJava基础上添加了Android线程调度
RxBinding 提供用RxJava绑定Android UI的API
Agera Android上的响应式编程

12. Log框架

名称 描述
Logger 简单,漂亮,强大的Android日志工具
Hugo 在调试版本上注解的触发方法进行日志记录
Timber 一个小的,可扩展的日志工具

13. 测试框架

名称 描述
Mockito Java编写的Mocking单元测试框架
Robotium Android UI 测试
Robolectric Android单元测试框架

Android自带很多测试工具:JUnit,Monkeyrunner,UiAutomator,Espresso等

14. 调试框架

名称 描述
Stetho 调试Android应用的桥梁,使得可以利用Chrome开发者工具进行调试

15. 性能优化

名称 描述
LeakCanary 内存泄漏检测工具
ACRA Android应用程序崩溃报告