android高级 xUtils 第三方框架的使

xUtils3.0框架:Android开发四大核心功能实践指南 Android开发中,轻量级框架xUtils3.0整合了数据库ORM、网络请求、图片加载和视图注入四大核心模块,通过模块化设计实现功能解耦。其ORM模块支持LINQ风格查询,网络模块基于HttpURLConnection实现高效请求,图片模块具备内存/磁盘二级缓存,视图注入则通过注解简化开发流程。该框架采用'约定优于配置'理念,显著减少样板代码,特别适合需要控制APK体积的商业项目。在性能优化方面,合理使用事务处理、缓存策略和请求合并等技术手段,能有效提升应用响应速度与稳定性。 阅读详情

                                                          xUtils

首先xUtils属于第三方工具,有ViewUtils,httpUtils,BitmapUtils,DBUtils 四大模块,算是很旧的知识了,前不久刚出了xUtils3,可以去此连接查看https://github.com/wyouflf/xUtils3 关于它的详解,xUtils的网址在https://github.com/wyouflf/xUtils


目前xUtils 有四大模块

 (1)ViewUtils 采用注解的方式实现代码和xml文件的分离

 (2)DbUtils  也是采用注解的方式自定义表名,字段,字段属性等,实现了自动建立数据库

 (3)HttpUtils 对网络请求进行了封装,支持同步,异步,支持get,post等多种请求,支持大文件上传

  (4)BitmapUtils 支持网络加载和本地加载图片,不会出现图片加载过程中出现的oom或错位问题


在使用xUtils之前需注意到的几个问题

  • xUtils 2.x对Android 6.0兼容不是很好, 请尽快升级至xUtils3.
  • xUtils 包含了很多实用的android工具。
  • xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...
  • xUitls 最低兼容android 2.2 (api level 8)
  • 在使用HttpUtils时android 6.0( API 23)已不默认支持HttpClient(HttpUtils是对HttpClient的封装)请求方式,所以在使用时在builder.gradle(Module)文件中添加下面一段话再同步一下就行了android{ useLibrary ‘org.apache.http.legacy’} 

  • 添加Android默认混淆配置${sdk.dir}/tools/proguard/proguard-android.txt
  • 不要混淆xUtils中的注解类型,添加混淆配置:-keep class * extends java.lang.annotation.Annotation { *; }
  • 对使用DbUtils模块持久化的实体类不要混淆,或者注解所有表和列名称@Table(name="xxx"),@Id(column="xxx"),@Column(column="xxx"),@Foreign(column="xxx",foreign="xxx");

在使用xUtils时需注意的地方:

(1)xUtils的注入 一般在初始状态,最好是Application中,此时还需在<application中注册 android.name="MyAp..."

   (2)ViewUtils 在不同地方的注入方式不同 比如:

            activity中:ViewUtils.inject(this);

         fragment中:ViewUtils.inject(this, view);

          preferenceFragment中 :ViewUtils.inject(this, getPreferenceScreen()); 

        而在ViewUtils中载入资源文字用:@Resinject(id=R.string.```,type=ResTYPE.String)

  (3)在使用BitmapUtils和 DbUtils时使用单例模式优化,防止产生多个对象,防止内存泄漏

          public class BitmapHelper {
         private static BitmapUtils utils;
         public static void init(Context context)
        {
           utils=new BitmapUtils(context,null,0.25f);
           utils.configDefaultLoadFailedImage(R.mipmap.ic_launcher);
          utils.configDefaultLoadingImage(R.mipmap.ic_launcher);
          utils.configDefaultBitmapMaxSize(100,100);
        }
        public static BitmapUtils getUtils()
       {
           return utils;
        }
      }


下面是官方解释,每个模块的用法,小demo实例可以去此处详看: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内存;
    • 可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...


xUtils3.0框架解析:Android开发效率提升实战 注解驱动开发是提升Android工程效率的重要范式,其核心原理是通过编译时代码注入减少样板代码。xUtils3作为典型实现,采用AOP思想将IOC容器、网络请求和图片加载等模块解耦,显著降低40%基础代码量。在电商、金融等高频业务场景中,其注解处理器配合Gradle依赖管理,能有效解决版本冲突问题。框架内置的三级缓存策略和动态加载机制,特别适合处理列表页图片加载等性能敏感场景,通过合理配置CacheMaxAge参数可降低35%服务器压力。本文以xUtils3为例,详解如何通过@Event注解实现事件绑定,以 阅读详情

相关推荐

xutls开发框架jar

xutls开发框架jar。集成了加载图片,数据库,注入注解

android studio xutils3.4 导入jar

最近开始新项目,然后想更新下以前用的xutils2.6,首先是想着 去 github上下载jar包导入就行了, xutils3.4 github地址:点击打开链接 下载后是个model 要导入项目,但是本人不喜欢项目里面放model,觉得用jar包放入lib更加简洁点, 然后就找  这个链接去下载了。 结果下载后的jar包导入 lib, add as lib后,代码中导包导不出来,估计

ZLP的博客 2704

别再只用GPS了!用Android手机传感器实现室内步行轨迹记录(避坑指南)

本文详细介绍了如何利用Android手机传感器(如加速度计、陀螺仪和磁力计)实现室内步行轨迹记录,克服GPS在室内的局限性。通过传感器数据采集、步态检测、航向估计和轨迹绘制等步骤,结合避坑指南和优化技巧,帮助开发者高效构建室内定位应用。

weixin_26821003的博客 274

android 之XUitls

一  、ViewUtils  1、使用anotation进行布局绑定  在activity类名上/进行布局绑定@ContentView(R.layout.activity_main) 2、在activity的onCreate中 ViewUtils.inject(this); // 日志utils LogUtils.allowV = true; 3、在成员变量中可进行控件绑定和资源绑定

wangsfine的博客 1788

保姆级教程:在Windows/Linux双系统下搞定Microsemi Libero SoC v11.8安装与白银版License激活

本文提供了一份详细的Microsemi Libero SoC v11.8在Windows/Linux双系统下的安装与白银版License激活指南。涵盖环境准备、安装流程、License跨平台配置及常见问题排查,帮助开发者高效搭建FPGA开发环境。

weixin_30603633的博客 420

二手分析仪器改造实战:如何用PMT搭建荧光检测电路(附完整电路图)

本文详细介绍了如何利用二手分析仪器中的光电倍增管(PMT)核心部件,进行荧光检测电路的实战改造。内容涵盖从PMT工作原理理解、高压供电电路设计、低噪声前置放大(跨阻放大器)到信号调理的完整流程,并提供了关键电路图与调试排错指南,旨在帮助电子爱好者与工程师低成本构建稳定、高灵敏度的专业检测系统。

weixin_29234239的博客 441

安卓BuildConfig与DEBUG模式

在安卓项目中Mobule的build.gradle文件中buildConfigField和manifestPlaceholders都可以定义常量, 我们今天说的BuildConfig就是用buildConfigField定义的常量。如下所示: android { compileSdkVersion LIBRARY_COMPILE_SDK_VERSION buildTools...

mike的博客 1839

PMP--二模--解题--161-170

A:邀请团队成员在下一次回顾中分享经验。B:请求发起人增加具有所需经验的团队成员。C:在团队内计划知识共享会议。D:请求发起人为团队提供培训课程。A。

stqer的博客 1270

android 的getInstance运用(单例模式)

在写程序库代码时,有时有一个类需要被所有的其它类使用,但又要求这个类只能实例化一次,是个服务类,定义一次,其它类使用同一个这个类的实例。例如: class A { public: A(void); ….. }如果在每一个需要A的类中都声明一个A类的对象,那么会导致有N个类,每A类的定义都不一样,但是这个A类是服务类,只能定义一次,定义多个N类会导致不同的内存地址。解决这个矛盾的方法: 1.定义一个A

qq_20967339的博客 4324

机器翻译:一文掌握离线翻译库 Argos Translate 的详细使用

Argos Translate是一个开源的离线翻译库,支持多语言互译。它通过独立的翻译包(.argosmodel文件)实现翻译功能,每个包对应特定语言对的翻译任务。安装简单,只需pip安装argostranslate库,并通过命令行或Python API管理翻译包。支持批量处理和长期运行优化性能。对于不支持的语种,可采用桥接翻译或自行训练模型。该库提供CLI工具和Python API,适合集成到各种应用中,还可用于批量文件翻译。主要局限包括缺乏上下文理解、专业领域翻译不精准等。

数据知道的博客 3524

【Block总结】DiffAttention,差分注意力融入CLIP架构,抑制噪声,增强对相关特征的关注|即插即用

DiffCLIP通过微小的结构改动实现了显著的性能提升,为多模态模型的轻量化与高效化提供了新范式。

AI浩 1561

xutils找id空指针_Android高级_第三方框架Xutils

xutils的功能主要包括有四个部分:(1)布局视图关联;(2)图片下载与缓存;(3)网络请求;(4)数据库;1. 使用xutils进行视图注入:(1)在控件声明上方添加@ViewInject()传入控件的资源Id;(2)OnCreate()中使用x.view().inject(),传入上下文对象即可;(3)设值点击事件:(3-1)自定义点击事件方法;访问权限为私有private void,传入V...

weixin_39821604的博客 186

【AI大模型:前沿】41、建筑行业大模型创业全指南:从技术突破到成本控制与落地路径

建筑行业大模型是“高门槛、高回报”的长周期赛道,适合有建筑行业资源+AI技术背景的团队切入。数据是基础,场景切割是策略,合规是底线。通过聚焦“设计生成+规范审查”等刚需场景,用“仿真数据+开源模型”降低成本,3-5年内有望成长为行业独角兽。对于中小团队,避开千万级全流程模型的红海,深耕“小而美”的单点工具,同样能实现盈利与快速扩张。关键成功公式建筑AI创业 = 50%数据壁垒构建 + 30%场景精准切入 + 20%成本控制能力。

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 2114

Android高级_第三方框架Xutils,android框架xutils

Android高级_第三方框架Xutils,android框架xutils xutils的功能主要包括有四个部分:(1)布局视图关联;(2)图片下载与缓存;(3)网络请求;(4)数据库; 1. 使用xutils进行视图注入: (1)在控件声明上方添加@ViewInject()传入控件的资源Id; (2)OnCreate()中使用x.view().inject(),传入上

日月星辰的博客 335

【C++】构造函数之初始化列表(Initialization list of constructors)

本讲主要是构造函数的初始化列表的讲节,但是本节很重要,可以关乎后面写项目

m0_62599305的博客 2233

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Android高级_第三方框架Xutils

xutils的功能主要包括有四个部分:(1)布局视图关联;(2)图片下载与缓存;(3)网络请求;(4)数据库; 1. 使用xutils进行视图注入: (1)在控件声明上方添加@ViewInject()传入控件的资源Id; (2)OnCreate()中使用x.view().inject(),传入上下文对象即可; (3)设值点击事件:   (3-1)自定义点击事件方法;访问权限为私有priv...

weixin_34310785的博客 147

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Android-第十一节网络请求第三方框架-xutils3

本人从事Android开发已经有十余年,算是一名资深的移动开发架构师了吧。根据我的观察发现,对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。所以在此将我十年载,从萌新小白一步步成长为Android移动开发架构师的学习笔记,从Android四大组件到手写实现一个架构设计,我都有一一的对应笔记为你讲解。当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。

2401_84519907的博客 1162

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

android高级框架xUtils之HttpUtils

xUtils简介: xUtils 是一个工具类的集合体,其中包含许多实用的Android工具,主要包含四大模块:  1、 ViewUtils的模块(点击进入) 2、 HttpUtils的模块   3、  Bitmap的模块(点击进入) 4、 DbUtils的模块(点击进入) 现在开始学习HttpUtils,同样咋们还是以三部曲的方式来阐述这个问题: 一、添加权

program008的博客 2838

android高级框架xUtils之ViewUtils

xUtils 是一个工具类的集合体,其中包含许多实用的Android工具,使用这些工具将给我们的编程带来很多方便

program008的博客 1116

android高级框架xUtils之DbUtils

android高级框架之xUtils之DbUtils,将我们对数据库的操作变得更加简便。减少了我们写数据库操作的语句

program008的博客 2145

android高级框架xUtils之BitmapUtils

xutils简介: xUtils 是一个工具类的集合体,其中包含许多实用的Android工具,主要包含四大模块:  1、 ViewUtils的模块 2、 HttpUtils的模块   3、 BitmapUtils的模块  4、 DBUtils的模块 现在我们来正式学习BitmapUtils,同样我们也通过三个步骤来学习: 一、添加权限 二、创建Bitmap

program008的博客 1033

XUtils3框架:Android开发四大核心模块实战指南

Android开发中,开源工具库能显著提升开发效率并减少样板代码。XUtils3作为轻量级框架,整合了数据库操作、网络请求、图片加载和视图注入四大核心模块,通过模块化设计支持按需引入。其技术价值体现在API简洁性上,例如数据库CRUD操作代码量可减少60%,网络请求简化为单行调用。框架深度适配Android生命周期,自动管理网络请求与界面销毁关联,有效避免内存泄漏问题。在应用场景上,XUtils3已被超过2.3万个Android项目采用,包括多个百万级用户的商业应用。对于开发者而言,掌握XUtils3的环境

weixin_30645617的博客 389

安卓高级主题——XUtils3

XUtils框架 使用Gradle构建时添加一下依赖即可 compile 'org.xutils:xutils:3.5.1' 需要的权限 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRI...

asjklm的博客 296

Android开发:XUtils3环境搭建与配置指南

Android开发工具库是提升开发效率的关键组件,其中XUtils3作为集成数据库、网络请求和图片加载等核心功能的框架,其环境搭建涉及模块导入、版本适配等关键技术点。理解Gradle依赖管理和模块化开发原理,能有效解决版本冲突等常见问题。通过合理配置compileSdkVersion等参数,开发者可以快速集成XUtils3到项目中。该工具库特别适合需要快速实现网络通信、本地数据存储的移动应用场景,本文详细介绍从源码获取到初始化配置的全流程实践方案,包含解决模块导入失败等典型问题的实用技巧。

weixin_30684743的博客 268

Android高级之xUtils框架(一):ViewUtils的用法

xUtils中ViewUtils的使用

FightFightFight的博客 3308

android 高级之旅 (二 )xUtils3 基本用法

xutils功能主要有4部分:注解、网络加载、图片加载、数据库;其他的还有log输出、MD5加密等小功能 总之,xutils3是一款功能强大的框架,更多特性以及简介 移步:点击这里  一、xUtils可以直接从androidstudio中导入依赖,导入成功后需添加权限如下: 二、xutils需要在application中的oncreate方法中初始化, 在activit

lixuSpace001的博客 1052
上一篇: android:三种菜单(Menu)的设置
下一篇: 对于oom(内存溢出),图片加载方面,Dalvik,算法,自定义对内存方面很好的一片文章
AlwaysDebug
博客等级 码龄11年 2粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值