OkHttp网络操作框架

1.OkHttp概述

1.1什么是OkHttp?
OkHttp是一个网络客户端,客户端向服务器发出一条HTTP请求,服务器收到请求后返回数据给客户端,客户端对数据进行解析和处理。
1.2OkHttp的用法
(1)创建一个OkHttpClient对象

OkHttpClient client=new OkHttpClient();

(2)创建一个Request对象,代表要发送一条HTTP请求(再调用build()方法之前,可以调用其他方法来丰富request对象

Request request=new Request.Bulider().url("")
.build();

(3)调用OkHttpClient的newCall()方法创建一个Call对象,并使用execute()方法来发送请求并获取服务器返回的数据(其中Response对象就是服务器返回的数据)

Response response=client.newCall(request).execute;

2.OkHttp使用

2.1OkHttp-get-Request
当我们想要从服务器上获取资源时就用get()方法。
实现步骤:
(1)获取Request对象,并传入URL;
(2)呼叫服务器,获取Response响应对象(服务器返回的)
(3)通过response.body().string()获取返回的具体内容。

    public void get() {
          Request.Builder builder=new Request.Builder();
          builder.url("https://github.com/square/okhttp/blob/master/README.md");
          Request request=builder.build();

          Call call=mClient.newCall(request);
          Response response=call.execute();
          if(response.isSuccessful()){
               final String string=response.body().string();
               runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        mContent.setText(string);
                    }
                });     

2.2OkHttp-post
(1)与GET相比,发起POST请求需要构建RequestBody对象存放待提交的参数(各种方法构建)

RequestBody requestBody=newFormBody.Builder().add(“user”,“admin”).add(“password”,"123456).builder();

(2)然后在Request.Builder中调用post()方法,并将RequestBody对象传入
(3)调用execute()方法发送请求并获取服务器返回的数据。

private void post() {
      Request.Builder builder = new Request.Builder();
      builder.url(POST_URL);
      builder.post(RequestBody.create(MEDIA_TYPE_MARKDOWN, "Hello world github/linguist#1 **cool**, and #1!"));
      Request request = builder.build();
      Call call = mClient.newCall(request);
      Response response=call.execute();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值