android中引入okhttp

选择在低版本中运行的,android 7
代码通过学习  https://square.github.io/okhttp/ 中的

sAndroidManifest.xml 中新增权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

 

引入 okIo 和okhttp 包

 

搜所okio

 

 

 

package com.example.a202007.com.mw.dto;

public class SearchDTO {

    private Integer pageNumber;
    private Integer pageSize;
    private String searchProperty;
    private String searchValue;

    public Integer getPageNumber() {
        return pageNumber;
    }

    public void setPageNumber(Integer pageNumber) {
        this.pageNumber = pageNumber;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public String getSearchProperty() {
        return searchProperty;
    }

    public void setSearchProperty(String searchProperty) {
        this.searchProperty = searchProperty;
    }

    public String getSearchValue() {
        return searchValue;
    }

    public void setSearchValue(String searchValue) {
        this.searchValue = searchValue;
    }
}

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import com.example.a202007.R;
import com.example.a202007.com.mw.dto.SearchDTO;
import com.google.gson.Gson;

import java.io.IOException;

import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

public class OkhttpActivity extends AppCompatActivity {
    private TextView okHttp_showcontent;
    public static final MediaType JSON= MediaType.get("application/json; charset=utf-8");
    private Handler handler = new Handler(){
        @Override
        public void handleMessage(@NonNull Message msg) {
            super.handleMessage(msg);
            Log.i("mw",String.valueOf(msg.obj));
            okHttp_showcontent.setText((String)msg.obj);
        }
    };
    OkHttpClient client = new OkHttpClient();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_okhttp);
        okHttp_showcontent = findViewById(R.id.okHttp_showcontent);
    }

    public void onOkhttpGetOnClick (View view) throws IOException {
        okHttp_showcontent.setText("");
        new Thread(new Runnable() {
            @Override
            public void run() {
                Message msg = new Message();
                msg.obj = getReq("http://www.mwview.com/v/tool/queryFoodMenuList");
                handler.sendMessage(msg);
            }
        }).start();
    }

    public void onOkhttpPostOnClick (View view) throws IOException {
        okHttp_showcontent.setText("");
        new Thread(new Runnable() {
            @Override
            public void run() {
                SearchDTO search = new SearchDTO();
                search.setPageNumber(1);
                search.setPageSize(20);
                search.setSearchProperty("categoryId");
                search.setSearchValue("SUBJECT_DETAIL_CATEGORIES_LITERATURE_ART");
                String jsonString = new Gson().toJson(new Object());
                Message msg = new Message();
                msg.obj = postReq("http://www.mwview.com/v/blog/queryBlogList",jsonString);
                handler.sendMessage(msg);
            }
        }).start();
    }


   public String postReq(String url, String json){
        RequestBody body = RequestBody.create(json, JSON);
        Request request = new Request.Builder()
                .url(url)
                .post(body)
                .build();
        try (Response response = client.newCall(request).execute()) {
            return response.body().string();
        }catch (IOException e){
            Log.e("mw","post=="+e.getMessage());
        }
        return "";
    }


    private String getReq(String url)  {
        Request request = new Request.Builder()
                .url(url)
                .build();
        try (Response response = client.newCall(request).execute()) {
            return response.body().string();
        }catch (IOException e){
            Log.e("mw",e.getMessage());
        }
        return "";
    }

}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

<Button
        style="@style/commonStyle"
        android:onClick="onOkhttpGetOnClick"
        android:text="get请求"
       ></Button>

    <Button
        style="@style/commonStyle"
        android:onClick="onOkhttpPostOnClick"
        android:text="post请求"
        ></Button>

    <TextView
        style="@style/commonStyle"
        android:id="@+id/okHttp_showcontent"
        ></TextView>
</LinearLayout>

styles.xml

  <!--  字体着色 -->
    <style name="commonStyle">
        <item name="android:textSize">50dp</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:textColor">@color/colorDepthRed</item>
    </style>
colors.xml
<color name="colorDepthRed">#DC143C</color>

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值