最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android使用okhttp通信的方法

 更新時間:2025年04月26日 09:06:13   作者:劉宏締的架構(gòu)森林  
這篇文章主要介紹了Android:使用okhttp通信的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

一,安裝第三方庫:

1,庫地址:

https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp

2,安裝

在build.gradle的dependencies中增加一行:

implementation 'com.squareup.okhttp3:okhttp:4.12.0'

如下:

dependencies {
    implementation libs.appcompat
    implementation libs.material
    implementation libs.activity
    implementation libs.constraintlayout
    testImplementation libs.junit
    androidTestImplementation libs.ext.junit
    androidTestImplementation libs.espresso.core
    implementation 'com.squareup.okhttp3:okhttp:4.12.0'
}

然后點擊 sync now

二,配置權(quán)限:

在AndroidManifest.xml中添加權(quán)限:

<uses-permission android:name="android.permission.INTERNET" />

否則會報以下錯誤:

java.lang.SecurityException: Permission denied (missing INTERNET permission?)

三,代碼:

package com.example.okdemo1;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import java.io.IOException;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_main);
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });
        //給按鈕增加點擊事件
        Button myButton = findViewById(R.id.apibutton);
        myButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 處理點擊事件
                doGetData();
             }
        });
    }
    //以get方式訪問互聯(lián)網(wǎng)上的頁面,并返回數(shù)據(jù)
    private void doGetData() {
        Toast.makeText(MainActivity.this, "按鈕被點擊了!", Toast.LENGTH_LONG).show();
        //1.創(chuàng)建HttpClient對象
        OkHttpClient okHttpClient = new OkHttpClient();
        //2.獲取request對象
        Request.Builder builder = new Request.Builder().url("https://www.bilibili.com/");
        Request request = builder.build();
        //3.異步請求發(fā)起
        okHttpClient.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(@NonNull Call call, @NonNull IOException e) {
            }
            @Override
            public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
                try {
                    String result = response.body().string();
                    //如果需要更新主線程的 UI 如果使用 rxjava 以及 retrofit 就不用這樣處理了
                    System.out.println("網(wǎng)絡(luò)請求返回結(jié)果:");
                    System.out.println(result);
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
        });
    }
}

四,測試效果:

界面:

執(zhí)行結(jié)果:

到此這篇關(guān)于android: 用okhttp通信的文章就介紹到這了,更多相關(guān)android okhttp通信內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

浮梁县| 舒兰市| 乌兰察布市| 江川县| 安化县| 崇阳县| 德庆县| 海原县| 玉田县| 平原县| 信丰县| 益阳市| 福鼎市| 开原市| 吴桥县| 和政县| 宁城县| 旅游| 金平| 阿瓦提县| 漳州市| 连江县| 文水县| 昭通市| 望江县| 博客| 道孚县| 辰溪县| 五原县| 余干县| 乌兰察布市| 太保市| 武隆县| 同江市| 邓州市| 临夏县| 保康县| 奉节县| 柏乡县| 石首市| 乐至县|