收集的Android开源框架及其地址(备用)

2024-05-24 17:18

本文主要是介绍收集的Android开源框架及其地址(备用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、volley 

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

  • JSON,图像等的异步下载;
  • 网络请求的排序(scheduling)
  • 网络请求的优先级处理
  • 缓存
  • 多级别取消请求
  • 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)

  2、android-async-http

  项目地址:https://github.com/loopj/android-async-http,文档介绍:http://loopj.com/android-async-http/ 

  • 在匿名回调中处理请求结果
  • 在UI线程外进行http请求
  • 文件断点上传
  • 智能重试
  • 默认gzip压缩
  • 支持解析成Json格式
  • 可将Cookies持久化到SharedPreferences

  3、Afinal框架

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

  主要有四大模块:

  • 数据库模块:Android中的orm框架,使用了线程池对sqlite进行操作。
  • 注解模块:Android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
  • 网络模块:通过httpclient进行封装http数据请求,支持Ajax方式加载,支持下载、上传文件功能。
  • 图片缓存模块:通过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,主要有四大模块:

  数据库模块:

  • Android 中的 orm 框架,一行代码就可以进行增删改查;
  • 支持事务,默认关闭;
  • 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
  • 支持绑定外键,保存实体时外键关联实体自动保存或更新;
  • 自动加载外键关联实体,支持延时加载;
  • 支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。          

  注解模块:

  • Android中的 ioc 框架,完全注解方式就可以进行 UI,资源和事件绑定;
  • 新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
  • 目前支持常用的20种事件绑定,参见 View Common Event Listener 类和包com.lidroid.xutils.view.annotation.event。

  网络模块:

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

  图片缓存模块:

  • 加载bitmap的时候无需考虑bitmap加载过程中出现的oom和Android容器快速滑动时候出现的图片错位等现象;
  • 支持加载网络图片和本地图片;
  • 内存管理使用lru算法,更好的管理bitmap内存;
  • 可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等。

  5、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写入本地打印、以及控制台打印
  • 下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。
  • 网络状态检测模块:当网络状态改变时,对其进行检。

  6、LoonAndroid

  项目地址:https://github.com/gdpancheng/LoonAndroid

  主要有以下模块:

这篇关于收集的Android开源框架及其地址(备用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/999038

相关文章

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio