xUtils框架的介绍(二)
框架 介绍
2023-09-14 08:56:50 时间
xUtils中有四大组件可以供我们使用,分别是ViewUtils、HttpUtils、BitmapUtils以及DbUtils。如果你没能先读一下我的上一篇文章,那么请你移步过去先整体了解一下,再回过头来看这篇文章,相信你回更有体会的。
下面依次开始介绍这些组件具体的使用。
一、ViewUtils android中得ioc(控制反转)框架,可以完全使用注解的方式来完成UI的绑定和事件绑定。简单的说,ViewUtils的功能就是做这个的,但是可以说,就这么个功能确是能极大的简化我们的代码。下面我们看下具体的代码,顺便对比下注解的方式绑定ID和findViewById之间的差别。
如果项目中得Activity中的控件相当多,那么想象一下代码中累积的那一大坨就真心受不了。通过xUtils的简单注解,就能轻松摆脱无尽坏味道的代码。 注意:在使用注解绑定控件的时候,一定记得在onCreate中调用ViewUtils.inject(this); 下面我们再对比下Android中事件绑定的区别。
原本绑定Button的监听事件要么用丑陋的内部类,要么Activity实现OnClickListener,在复写的onClick方法中去根据id。而xUtils只要通过简单的一句注解就能实现监听事件的功能,而且可以实现多个控件共用一个监听方法。同时xUtils提供onClick、onItemClick、onLongClick等15种事件监听注解。 注意:在使用注解监听事件的时候,监听方法名是自定义的,但是一定要保证方法的访问修饰符为public,同时方法的参数要与Android原来的监听方法参数一致,不仅参数类型,而且要保证参数的顺序。 二、BitmapUtils 加载网络或本地bitmap的时候无需担心再遇到OOM的现象,管理bitmap的内存采用了LRU算法,同时也能避免列表滑动过程中发生图片错位等得现象。加载网络图片时,还可以配置运行线程的数量,缓存路径等。。。通过BitmapUtils的各种构造器,可以很方便的创建出本地缓存路径和缓存的大小,以及内存缓存的大小。
// utils.display(img, "http://img1.gtimg.com/news/pics/hv1/63/26/1451/94357968.jpg");
utils.display(img, "http://img1.gtimg.com/news/pics/hv1/63/26/1451/94357968.jpg", config);
BitmapUtils在用来加载网络图片时,可以配置加载图片尺寸的大小,加载成功和失败的回调以及加载过程中图片的配置。同时也可以选择不配置。
// 使用ListView等容器展示图片时可通过PauseOnScrollListener控制滑动和快速滑动过程中时候暂停加载图片
listView.setOnScrollListener(new PauseOnScrollListener(bitmapUtils, false, true), customListener);
Android网络框架系列: Retrofit2.5(2) 简介: Retrofit是Square公司开发的一款针对Android网络请求的框架,遵循Restful设计风格,我们查看 invoke 可以发现:底层基于OkHttp实现的 ,相比其他网络请求框架,有以下优势: 性能最好,速度最快(动态代理优势) 简洁易用,代码简化 解耦彻底,职责细分 易与其他框架联用(Rxjava)
Android网络框架系列: Retrofit2.5(1) Retrofit是Square公司开发的一款针对Android网络请求的框架,遵循Restful设计风格,我们查看 invoke 可以发现:底层基于OkHttp实现的 ,相比其他网络请求框架,有以下优势: 性能最好,速度最快(动态代理优势) 简洁易用,代码简化 解耦彻底,职责细分 易与其他框架联用(Rxjava)
【Android】网络编程之OKHTTP与Retrofit框架 上一期我们实现了Android的网络编程,通过Java代码在子线程中请求数据,再通过Java代码解析json数据,因为对于较复杂的json数据,通过java代码需要逐层解析比较困难,所以我们又通过第三方框架GSON,使用它可以直接将字符串解析成对象,并且封装成为一个实体类,配合实体类插件GsonFormatPlus,让我们只需通过简单的几行代码就实现数据解析
CoreLocation框架详细解析 —— 基本概览(一)CoreLocation框架详细解析 —— 选择定位服务的授权级别(二)CoreLocation框架详细解析 —— 确定定位服务的可用性(三)CoreLocation框架详细解析 —— 获取用户...
如果项目中得Activity中的控件相当多,那么想象一下代码中累积的那一大坨就真心受不了。通过xUtils的简单注解,就能轻松摆脱无尽坏味道的代码。 注意:在使用注解绑定控件的时候,一定记得在onCreate中调用ViewUtils.inject(this); 下面我们再对比下Android中事件绑定的区别。
原本绑定Button的监听事件要么用丑陋的内部类,要么Activity实现OnClickListener,在复写的onClick方法中去根据id。而xUtils只要通过简单的一句注解就能实现监听事件的功能,而且可以实现多个控件共用一个监听方法。同时xUtils提供onClick、onItemClick、onLongClick等15种事件监听注解。 注意:在使用注解监听事件的时候,监听方法名是自定义的,但是一定要保证方法的访问修饰符为public,同时方法的参数要与Android原来的监听方法参数一致,不仅参数类型,而且要保证参数的顺序。 二、BitmapUtils 加载网络或本地bitmap的时候无需担心再遇到OOM的现象,管理bitmap的内存采用了LRU算法,同时也能避免列表滑动过程中发生图片错位等得现象。加载网络图片时,还可以配置运行线程的数量,缓存路径等。。。通过BitmapUtils的各种构造器,可以很方便的创建出本地缓存路径和缓存的大小,以及内存缓存的大小。
// utils.display(img, "http://img1.gtimg.com/news/pics/hv1/63/26/1451/94357968.jpg");
utils.display(img, "http://img1.gtimg.com/news/pics/hv1/63/26/1451/94357968.jpg", config);
BitmapUtils在用来加载网络图片时,可以配置加载图片尺寸的大小,加载成功和失败的回调以及加载过程中图片的配置。同时也可以选择不配置。
// 使用ListView等容器展示图片时可通过PauseOnScrollListener控制滑动和快速滑动过程中时候暂停加载图片
listView.setOnScrollListener(new PauseOnScrollListener(bitmapUtils, false, true), customListener);
Android网络框架系列: Retrofit2.5(2) 简介: Retrofit是Square公司开发的一款针对Android网络请求的框架,遵循Restful设计风格,我们查看 invoke 可以发现:底层基于OkHttp实现的 ,相比其他网络请求框架,有以下优势: 性能最好,速度最快(动态代理优势) 简洁易用,代码简化 解耦彻底,职责细分 易与其他框架联用(Rxjava)
Android网络框架系列: Retrofit2.5(1) Retrofit是Square公司开发的一款针对Android网络请求的框架,遵循Restful设计风格,我们查看 invoke 可以发现:底层基于OkHttp实现的 ,相比其他网络请求框架,有以下优势: 性能最好,速度最快(动态代理优势) 简洁易用,代码简化 解耦彻底,职责细分 易与其他框架联用(Rxjava)
【Android】网络编程之OKHTTP与Retrofit框架 上一期我们实现了Android的网络编程,通过Java代码在子线程中请求数据,再通过Java代码解析json数据,因为对于较复杂的json数据,通过java代码需要逐层解析比较困难,所以我们又通过第三方框架GSON,使用它可以直接将字符串解析成对象,并且封装成为一个实体类,配合实体类插件GsonFormatPlus,让我们只需通过简单的几行代码就实现数据解析
CoreLocation框架详细解析 —— 基本概览(一)CoreLocation框架详细解析 —— 选择定位服务的授权级别(二)CoreLocation框架详细解析 —— 确定定位服务的可用性(三)CoreLocation框架详细解析 —— 获取用户...
相关文章
- [置顶].NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍
- 12章 搜索框架ElasticSearch介绍和整合SpringBoot 4节课
- JeeSite框架中httpSession.invalidate();无效
- 第三百三十二节,web爬虫讲解2—Scrapy框架爬虫—Scrapy使用
- 第三百二十节,Django框架,生成二维码
- 小白学 Python 爬虫(27):自动化测试框架 Selenium 从入门到放弃(上)
- iOS文本布局探讨之二——关于TextKit框架中的字体描述
- vue框架-基础2-vue生命周期
- django框架基础-框架介绍-长期维护
- SAP BOPF和Spring框架里加了注解的控制器是如何被调用的
- 数据保护条例框架与wik解读 第一章 GDPR 个人数据的控制者和处理者必须采取适当的技术和组织措施以实施数据保护原则。在设计和构建处理个人数据的业务流程时,必须考虑到这些原则,并提供保护数据的
- Atitit. Attilax企业框架 AEF的发展里程总结
- JAVA中几种常用的RPC框架介绍
- Android 折线图(MPAndroidChart框架)
- 【MyBatis笔记01】MyBatis框架介绍以及开发环境搭建
- DL之YoloV3:Yolo V3算法的简介(论文介绍)、各种DL框架代码复现、架构详解、案例应用等配图集合之详细攻略
- DL之YoloV3:Yolo V3算法的简介(论文介绍)、各种DL框架代码复现、架构详解、案例应用等配图集合之详细攻略
- 〖Python接口自动化测试实战篇⑩〗- 测试框架 unittest 的小实战案例
- 耗时1年的前端技术框架切换之旅
- ServiceComb微服务开发框架介绍
- Java 常用日志框架介绍
- 【Android 插件化】“ 插桩式 “ 插件化框架 ( 类加载器创建 | 资源加载 )
- 开源网络抓包与分析框架学习-Packetbeat篇
- Appium基础 — APPium自动化测试框架介绍
- UI自动化测试框架搭建 —— 编写执行脚本入口
- 常见编程/框架介绍
- BC:带你温习并解读《中国区块链技术和应用发展白皮书》—区块链标准体系框架
- Linux内核Thermal框架详解十三、Thermal Governor(3)