首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

5--安卓网络编程之OKHttp3的使用

零、前言 安卓的网络编程,服务端的知识是必不可少的,否则不知道该请求什么url,或不明白服务端是什么样的,总像是拼图少了一半 还好本人会些SpringBoot压箱底,这里提供了可访问的URL供大家测试...,以及后端的具体实现的链接,感兴趣的可以看一下 本文安卓端基本上是根据慕课网上hyman的Android网络框架-OkHttp使用 敲的,懒得看文章的可以去看看视频 不过版本OKHttp3.X和视频中.../find/21 POST请求测试地址:http://www.toly1994.com:8089/swords/postFind 参数:id=26 具体url的创建方法可详见:SpringBoot...篇:SpringBoot-07-之数据库JPA(CRUD) POST请求体中添加文本:http://www.toly1994.com:8089/PostString 具体url的创建方法可详见:...post请求.png ---- 三、POST请求的请求体中添加文本 private void doPostStr() { //1.获取OkHttpClient对象

1.3K40

Retrofit2与服务端实例讲解

这样就造成了在学习 Retrofit2 的过程中,对某些参数的作用并不能直观感受到,所以这里我就尝试着用 Nodejs 搭建了一个本地服务器,提供了几个接口用于支持 Get、Post 模式访问调用,支持文件上传和文件下载功能...'} onResponse: User{name='leavesC_27', mobile='123456'} Post请求 服务端 Post 接口的写法与 Get 接口类似,主要的区别在于客户端 Post...,@Multipart 注解表示请求体是一个支持文件上传的 Form 表单,对应的是客户端访问接口时 key 值为 “content-type” 的请求头 此外,在方法参数中使用到了三个 @Part 注解...多文件上传 这里来实现多个文件同时上传 由于此处客户端在实现多文件上传时使用了不同的参数配置,所以服务端需要采用不同的数据解析方式,因为新开了一个接口 app.post('/uploadFileDouble...()); } }); } 此外,上述代码如果在 Android 系统中运行还有个问题,由于回调函数 Callback 是在主线程中回调的,所以如果直接在回调函数中进行长时间的

2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    网络请求-Android篇(Okhttp和Retrofit)

    要在Java或Android项目中使用OkHttp,您需要将OkHttp依赖项添加到您的build.gradle文件中。然后,您可以创建一个OkHttpClient实例,并使用它来进行HTTP请求。...由于在进行网络请求的时候,我们主要用到get和post两种方式,下面就以这两个为例进行代码展示。   1.Get方式:GET请求将参数附加在URL的查询字符串中,即在URL后面使用?...get方式中又可以分为两种情况,分别是同步请求和异步请求;同步请求在进行请求的时候,当前线程会阻塞住,直到得到服务器的响应后,后面的代码才会执行;而异步请求不会阻塞当前线程,它采用了回调的方式,请求是在另一个线程中执行的...方式:POST请求将参数放在请求的主体中,不会直接显示在URL中。...拦截器允许在发送请求前、收到响应后以及其他阶段对HTTP流量进行拦截和处理。例如:拦截器可以修改请求的URL、请求方法、请求头部、请求体等。这对于添加身份验证头、设置缓存控制头等场景很有用。

    1.5K30

    Android网络编程(六)OkHttp3用法全解析

    前言 上一篇介绍了OkHttp2.x的用法,这一篇文章我们来对照OkHttp2.x版本来看看,OkHttp3使用起来有那些变化。...2.异步POST请求 OkHttp3异步POST请求和OkHttp2.x有一些差别就是没有FormEncodingBuilder这个类,替代它的是功能更加强大的FormBody: private...在wangshu.txt文件中有一行字“Android网络编程(六)OkHttp3用法全解析”我们运行程序点击发送文件按钮,最终请求网络返回的结果就是我们txt文件中的内容 : ?...android.permission.WRITE_EXTERNAL_STORAGE"/> 4.异步下载文件 下载文件同样在上一篇没有讲到,实现起来比较简单,在这里下载一张图片,我们得到Response后将流写进我们指定的图片文件中就可以了...,OkHttp3实现起来很简单,需要注意的是没有服务器接收我这个Multipart文件,所以这里只是举个例子,具体的应用还要结合实际工作中对应的服务器。

    1.5K20

    网络请求框架OkHttp3全解系列(一):OkHttp的基本使用

    欢迎关注公众号:胡飞洋 预计okhttp系列有4篇,使用方法、流程分析、缓存和连接池、使用扩展及封装。 这是第一篇,按照惯例,就介绍基本的使用方法,比较简单。 好了,闲话少叙,开始!...okhttp是由square公司开发,Android中公认最好用的网络请求框架,在接口封装上做的简单易用,GitHub地址:https://github.com/square/okhttp。...,两个回调方法onFailure、onResponse是执行在子线程的,所以如果想要执行UI操作,需要使用Handler切换到UI线程。...onFailure通常是connection连接失败或读写超时;onResponse是指,成功的从服务器获取到了结果,但是这个结果的响应码可能是404、500等,也可能就是200(response.code...其他请求方式像put、header、delete,主要在构建Request时把get()或post()换成put()、header()、delete()就可以了,但一般在Android端很少用到。

    30.2K62

    安卓开发的瑞士军刀“Retrofit2框架”

    传统的就http(s)或MQ这两套板斧,不过其实MQ也是基于http(s),只是由于其已经大多封装好调用直连所以是俺等懒人的必选之一。...它就是是一直雄霸在开源框架的TOP 1 的 Retrofit Retrofit的前世今生 Retrofit其实是一款基于OkHttp的框架,它的底层就是OkHttp,OkHttp这个老朋友就不多解释了...⑤请求速度快,使用非常方便灵活 使用方法 官网地址:https://square.github.io/retrofit/ 引入依赖: implementation 'com.squareup.retrofit2...POST("search")相同 //@Field("key") String value post请求用来提交参数的 //@FormUrlEncoded post请求提交form表单的时候如果有参数...,@FieldMap只不过是把一个一个的参数,合成一个map @POST("search?")

    1K21

    【OkHttp】OkHttp 上传图片 ( 获取 SD 卡动态权限 | 跳转到相册界面选择图片 | 使用 OkHttp 上传图片文件 )

    | 使用 OkHttp 上传图片文件 ) ---- 文章目录 OkHttp 系列文章目录 前言 一、获取 SD 卡动态权限 二、跳转到相册界面 三、选择完相册图片后回到本界面 四、使用 OkHttp...(columnIndex); // 获取数据完毕后, 关闭游标 cursor.close(); ④ 最后 , 使用 OkHttp 上传获取的图片对应的文件路径 ; 完整代码示例 : /**...: 该类型对象较大, 尽量在应用中创建较少的该类型对象 * 推荐使用单例 */ OkHttpClient mOkHttpClient; /** * Activity...(formBody) // 使用 Post 方法 .build(); // 同步 Get 请求 new...(formBody) // 使用 Post 方法 .build(); // 创建异步回调 Callback

    2.4K30

    OkHttp使用详解

    从网络下载一张图片并设置到ImageView中 其实学会了上面的步骤你完全可以将图片下载到本地后再设置到ImageView中,当然下面是另一种方法 这里我们使用BitmapFactory的decodeStream...将图片的输入流直接转换为Bitmap,然后设置到ImageView中,下面只给出onResponse()中的代码....显示文件下载进度 这里只是演示,我只是把进度显示在一个TextView中,至于进度的获取当然是在我们的回调函数onResponse()中去获取 (1)使用response.body().contentLength...RequestBody,然后重写其中的方法,将其中的上传进度通过接口回调暴露出来供我们使用。...RequestBody上包装了一层,最后在我们的使用中在post()方法中传入我们的CountingRequestBody对象即可。

    11.8K40

    Jetpack组件之Paging

    从DataSource获取的数据将存储在PagedList中。 DataSource DataSource中执行具体的数据载入工作,数据载入需要在工作线程中进行。...默认为true,如果设置为true,需要在DataSource中callback.onResult()的totalCount设置总数,否则会崩溃 //使用此方法数据不宜太大,否则会消耗性能...使用Paging分页请求网络数据,各个类的关系如图所示。 BoundaryCallback 在实际项目开发中,为了更好的用户体验,需要对数据进行缓存。...优势 为 Kotlin 协程和流程提供一流的支持。 支持使用RxJava Single或Guava ListenableFuture基元进行异步加载。...DataSource Paing2中的DataSource有三种,Paging3中将它们合并到了PagingSource中,实现load()和getRefreshKey(),在Paging3中,所有加载方法参数被一个

    1.9K11

    Android学习:OkHttp进行网络请求等

    1、进行依赖配置和xml中加入联网权限 在对应的Module的gradle中添加 compile 'com.squareup.okhttp3:okhttp:3.5.0' 然后同步一下项目即可...同步调用,返回Response,会抛出IO异常 同步调用会阻塞主线程,一般不适用 Response response = call.execute(); 异步调用,并设置回调函数 异步调用的回调函数是在子线程..., "Post Failed", Toast.LENGTH_SHORT).show(); } @Override public void onResponse(Call call...经过上面的学习,会发现主要的区别就在于构造不同的RequestBody传递给post方法即可。...RequestBody,下面的代码我们会发送一个包含用户民、密码、头像的表单到服务端,同时也需要记得记得在AndroidManifest.xml文件中添加存储卡读写权限。

    36110
    领券