资讯专栏INFORMATION COLUMN

Android开发中运用okhttp发送网络请求

chengtao1633 / 240人阅读

摘要:最近因为一些原因重新接触弃疗好久的突然发现在之前的版本中比较用的比较多的不能用了现在的异步访问方式用起来又感觉有点麻烦,然后经一个同学提醒想起来一个大牛学长之前在项目中用过的然后就用了下,其实速度和使用方式还是很不错的,但是遇到了一些小问题

最近因为一些原因重新接触弃疗好久的android,突然发现在之前的版本中android比较用的比较多的httpclient不能用了…现在的异步访问方式用起来又感觉有点麻烦,然后经一个同学提醒想起来一个大牛学长之前在项目中用过的okhttp,然后就用了下,其实速度和使用方式还是很不错的,但是遇到了一些小问题,在这里笔记下。

下载

okhttp的githup地址,可以看到是支持maven和gradle导入的:
https://github.com/square/okhttp
首页文档:
http://square.github.io/okhttp/

如果使用maven和gradle配置只要按照github页面的方法将其加入到相关的配置文件里就行了,如果下载的是jar包,可以通过androidstudio的
File > Project Structrue > dependencies
然后add file dependence来添加

这里需要的包有两个
okio.jar
okhttp.jar

URL paramter参数的的Get、Post请求

官网上已有说明如下,但是我遇到的问题其实主要是发送x-www-form-urlencoded参数的post请求,所以这里就笔记一下官网的文档好了…

GET
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
      .url(url)
      .build();
Response response = client.newCall(request).execute();
return response.body().string();
POST
public static final MediaType JSON
= MediaType.parse("application/json; charset=utf-8");

OkHttpClient client = new OkHttpClient();

String post(String url, String json) throws IOException {
      RequestBody body = RequestBody.create(JSON, json);
      Request request = new Request.Builder()
          .url(url)
          .post(body)
          .build();
      Response response = client.newCall(request).execute();
      return response.body().string();
}
x-www-form-urlencoded参数的Post请求
OkHttpClient okHttpClient = new OkHttpClient();
RequestBody body = new FormEncodingBuilder()
        .add("user", user)
        .add("password", pwd)
        .build();
Request request = new Request.Builder()
        .url("youurl")
        .post(body)
        .build();
Response response = okHttpClient.newCall(request).execute();
String result = response.body().string();

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/12469.html

相关文章

  • Android Retrofit 2.5.0使基础详解

    摘要:前言在开发中,网络请求必不可少而在所有网络请求库中,是最受开发者欢迎的一个网络请求库官方文档简介是公司开发的一款针对网络请求的框架遵循设计风格底层基于功能支持同步异步网络请求支持多种数据的解析序列化格式等等通过注解配置网络请求参数提供对的 前言 在Andrroid开发中,网络请求必不可少 而在Android所有网络请求库中,Retrofit是最受开发者欢迎的一个网络请求库 retr...

    zacklee 评论0 收藏0
  • 网络相关 - 收藏集 - 掘金

    摘要:关于三请求流程,源码必知掘金前两两片我们介绍了,基本使用和如何查看源码,今天我们正式进入源码分析流程。掘金是一款上的组件。 一篇文章带你走通 OkHttp+Retrofit+Rxjava - Android - 掘金一篇文章带你走通 OkHttp+Retrofit+Rxjava @(Android)[android] ... 升级 Https 的那些事 - Android - 掘金一、...

    haobowd 评论0 收藏0
  • 网络相关 - 收藏集 - 掘金

    摘要:关于三请求流程,源码必知掘金前两两片我们介绍了,基本使用和如何查看源码,今天我们正式进入源码分析流程。掘金是一款上的组件。 一篇文章带你走通 OkHttp+Retrofit+Rxjava - Android - 掘金一篇文章带你走通 OkHttp+Retrofit+Rxjava @(Android)[android] ... 升级 Https 的那些事 - Android - 掘金一、...

    pf_miles 评论0 收藏0
  • Android 网络优化,使 HTTPDNS 优化 DNS,从原理到 OkHttp 集成

    摘要:使用时,只需要在中,调用方法来注册此拦截器即可。在拦截器中,使用这个帮助类,通过将转为对应的。服务端根据请求,选择合适的算法,下发公钥证书和随机数。客户端对服务端证书,进行校验,并发送随机数信息,该信息使用公钥加密。 showImg(https://segmentfault.com/img/remote/1460000018642192); 一、前言 谈到优化,首先第一步,肯定是把一个...

    livem 评论0 收藏0
  • Android调试神器stetho使详解和改造

    摘要:本文由云社区发表作者概述是开源的一个调试工具,项目地址通过,开发者可以使用的功能,对应用进行调试和查看。使用这个功能,得先引入和。需要注意的是如果使用需要额外引入和。 本文由云+社区发表 作者:NaOH 概述 stetho是Facebook开源的一个Android调试工具,项目地址:facebook/stetho 通过Stetho,开发者可以使用chrome的inspect功能,对...

    joywek 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<