Android如何使用OKHttp

首先要在build.gradle里面写入
Android如何使用OKHttp_第1张图片

    // 添加OKHttp支持
    implementation("com.squareup.okhttp3:okhttp:4.3.1")

下面是代码

下面是activity的java代码

package com.example.okhttpdemo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class Main2Activity extends AppCompatActivity {

    //需要寻找的网页,可以复制下来去看一下
    //可以去   http://www.bejson.com/   这个网页把json格式化
    String getTodayGank = "http://gank.io/api/today";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        //做一个按钮的点击事件
        Button btn = findViewById(R.id.button);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //OKHttp一定要用另一个线程,如果用主线程可能会线程堵塞报错
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        //实例化  里面可能会出现异常,需要try  catch
                        OkHttpClient client = new OkHttpClient();
                        //建立一个Request  通过Builder方法.Url里面填的就是json网址.build创建
                        Request request = new Request.Builder().url(getTodayGank).build();
                        try {
                            //Response是okhttp实例化,并且调用Request。执行后返回的结果
                            Response response = client.newCall(request).execute();
                            String s = response.body().string();//获取到的json数据
                            JSONObject jsonObject = new JSONObject(s);//转成json
                            JSONObject result = jsonObject.getJSONObject("results");//获取到名字为results的数据
                            JSONArray android = result.getJSONArray("Android");//在获取到results下面的Android的数据(Android有很多数据,以数组方式存放,所以用JsonArray)
                            for (int i=0;i

XMl布局




    

运行后点击按钮
Android如何使用OKHttp_第2张图片
查看的时候,打开日志猫

Android如何使用OKHttp_第3张图片

进行一下筛选,否则不容易看到log

大家也可以先看一下网站的内容,
需要寻找的网页
http://gank.io/api/today
可以去 http://www.bejson.com/ 这个网页把json格式化

你可能感兴趣的:(Android)