xutils

Android注入框架ButterKnife使用解析

给你一囗甜甜゛ 提交于 2020-08-07 16:33:44
Android开发中使用注入框架,可减少findViewById的代码量,也能让我们的代码更加整洁,有许多著名的注入框架比如,ButterKnife,Annotation,XUtils,afinal等,最开始接触的是XUtils,后面开始接触到了ButterKnife; XUtils包含了许多模块,比如数据库操作orm,网络请求,图片及视图注入,而如果仅需要做视图注入的话BK更合适些。 今天来看看ButterKnife的使用。 文章目录 1.添加依赖 2.使用 使用@BindView取代findViewById @OnClick点击事件 资源绑定 列表Adapter的ViewHolder 1.添加依赖 在项目的app/build.gradle文件中,添加如下代码 android { ... // Butterknife requires Java 8. compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { implementation 'com.jakewharton:butterknife:10.2.2' annotationProcessor 'com.jakewharton

安卓开发常用网络请求框架OkHttp、Volley、XUtils、Retrofit对比

杀马特。学长 韩版系。学妹 提交于 2020-05-05 18:02:37
网络请求框架总结 1.xutils 此框架庞大而周全,这个框架可以网络请求,同时可以图片加载,又可以数据存储,又可以 View 注解,使用这种框架很方便,这样会使得你整个项目对它依赖性太强,万一以后这个库不维护了,或者中间某个模块出问题了,这个影响非常大,所以在项目开发时,一般会更喜欢选择专注某一领域的框架。 2.OkHttp Android 开发中是可以直接使用现成的api进行网络请求的,就是使用HttpClient、HttpUrlConnection 进行操作,目前HttpClient 已经被废弃,而 android-async-http 是基于HttpClient的,可能也是因为这个原因作者放弃维护。 而OkHttp是Square公司开源的针对Java和Android程序,封装的一个高性能http请求库,它的职责跟HttpUrlConnection 是一样的,支持 spdy、http 2.0、websocket ,支持同步、异步,而且 OkHttp 又封装了线程池,封装了数据转换,封装了参数使用、错误处理等,api使用起来更加方便。可以把它理解成是一个封装之后的类似HttpUrlConnection的东西,但是在使用的时候仍然需要自己再做一层封装,这样才能像使用一个框架一样更加顺手。 3.Volley Volley是Google官方出的一套小而巧的异步请求库

6款值得推荐的Android开源框架

荒凉一梦 提交于 2020-03-06 00:36:02
1、volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载; (2) 网络请求的排序(scheduling) (3) 网络请求的优先级处理 (4) 缓存 (5) 多级别取消请求 (6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求) 2、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 3、Afinal框架 项目地址:https://github.com/yangfuhai/afinal 主要有四大模块: (1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。 (2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。 (3)

android 六大开源框架

僤鯓⒐⒋嵵緔 提交于 2020-03-06 00:35:32
1、volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载; (2) 网络请求的排序(scheduling) (3) 网络请求的优先级处理 (4) 缓存 (5) 多级别取消请求 (6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求) 2、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 3、Afinal框架 项目地址:https://github.com/yangfuhai/afinal 主要有四大模块: (1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。 (2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。 (3)

【报错】retry error curr request is null

a 夏天 提交于 2019-12-26 10:41:58
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在使用xUtils框架(android的一个优秀框架)时,在访问网络时,使用HttpUtils类的send方法时,callback参数报错 retry error curr request is null 大概是说 request是null,可能是因为第三方框架的封装,详细 的异常没有报出来,经过检查,发现问题 网络访问的受限 解决 : 1、AndroidManifest.xml添加权限 < uses-permission android:name = "android.permission.INTERNET" /> 2、地址问题 < String > HttpHandler < String > com.lidroid.xutils. HttpUtils .send( HttpMethod method, String url, RequestParams params, RequestCallBack < String > callBack) 这里面的 String url 不写 "http://" 或者 “https://" 等URL支持的协议格式头 ,会出现上述报错。 3、版本问题 xUtils框架 2.6.14以前的版本在android 5.0及以上设备上运行时会报些错误,请使用新版本的xUtils

开源项目:XUtil详解

自闭症网瘾萝莉.ら 提交于 2019-12-19 17:09:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> xUtils简介 xUtils 包含了很多实用的android工具。 xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls最低兼容android 2.2 (api level 8) 目前xUtils主要有四大模块: 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请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。

Android新版xUtils3工具类相关debug

我是研究僧i 提交于 2019-12-05 23:35:43
首先出现问题是 build.gradle中的csayısıom.lidroid.xutils:xutils:2.6.13报错了,所以想到是版本的问题,github上搜了xutils发现有新版xutils3了 新版里没有找到代码里对应的ViewUtils.inject(this);,所以用github的搜索查找view和inject相关,第二页找到一个x.view().inject(this); 正好对应,解决。 来源: https://www.cnblogs.com/zxcoder/p/11950678.html

Android 网络请求详解

本秂侑毒 提交于 2019-12-04 01:24:37
我们知道大多数的 Android 应用程序都是通过和服务器进行交互来获取数据的。如果使用 HTTP 协议来发送和接收网络数据,就免不了使用 HttpURLConnection 和 HttpClient,而 Android 中主要提供了上述两种方式来进行 HTTP 操作。并且这两种方式都支持 HTTPS 协议、以流的形式进行上传和下载、配置超时时间、IPv6、以及连接池等功能。 但是 Googl e发布 6.0 版本的时候声明原生剔除 HttpClient,但是笔者认为 HttpClient 会提供相应的 jar 包做支持,毕竟 Google 对向下兼容这方面一直都做的很好,相信在选择网络功能的时候我们会选自己喜欢的方法。 HttpURLConnection 接着我们来看一下如何使用 HttpURLConnection 来处理简单的网络请求。 // Get方式请求 public static void requestByGet() throws Exception { String path = "10.128.7.34:3000/name=helloworld&password=android"; // 新建一个URL对象 URL url = new URL(path); // 打开一个HttpURLConnection连接 HttpURLConnection urlConn =

福运来源码搭建之xutils网络库

匿名 (未验证) 提交于 2019-12-03 00:40:02
这是xutils 3 的 福运来源码搭建官方解释,企 娥:217 1793 408 xUtils 包含了orm, http(s), image, view注解, 但依然很轻量级(246K), 并且特性强大, 方便扩展: 稳定的基石: AbsTask和统一的回调接口Callback, 任何异常, 即使你的回调方法实现有异常都会进入onError, 任何情况下onFinished总会让你知道任务结束了. 基于高效稳定的orm工具, http模块得以更方便的实现cookie(支持domain, path, expiry等特性)和 缓存(支持Cache-Control, Last-Modified, ETag等特性)的支持. 有了强大的http及其下载缓存的支持, image模块的实现相当的简洁, 并且支持回收被view持有, 但被Mem Cache移除的图片, 减少页面回退时的闪烁.. view注解模块仅仅400多行代码却灵活的支持了各种View注入和事件绑定, 包括拥有多了方法的listener的支持. 其他特性 支持超大文件(超过2G)上传 更全面的http请求协议支持(11种谓词) 拥有更加灵活的ORM, 和greenDao一致的性能 更多的事件注解支持且不受混淆影响… 图片绑定支持gif(受系统兼容性影响, 部分gif文件只能静态显示), webp; 支持圆角, 圆形,

xUtils 源码解析

廉价感情. 提交于 2019-12-03 00:33:29
1. 功能介绍 xUtils 一个 Android 公共库框架,主要包括四个部分:View,Db, Http, Bitmap 四个模块。 View 模块主要的功能是通过注解绑定 UI,资源,事件。 Db 模块是一个数据库 orm 框架, 简单的语句就能进行数据的操作。 Http 模块主要访问网络,支持同步,异步方式的请求,支持文件的下载。 Bitmap 模块是加载图片以及图片的处理, 支持加载本地,网络图片。而且支持图片的内存和本地缓存。 2. 详细设计 2.1 View 模块 2.1.1 总体设计 流程和关系较少, 请看下面的详细分析 2.1.2 流程图 2.1.3 核心类功能介绍 请先了解 注解 , 动态代理 可以帮助到您, 如果已经了解请忽略。 注解和反射知识是这个模块的主要内容 1.ViewUtils.java View 和各种事件的注入以及资源的注入。 (1)主要函数 private static void injectObject(Object handler, ViewFinder finder) 第一个参数 Object handler 代表的是需要注入的对象, 第二个参数是需要注入 View(这个 View 就是 handler 的成员变量)所在的 View 或者 Activity 的包装对象。 该方法完成了 View 和各种事件的注入以及资源的注入