欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android使用okhttp通信的方法

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

一,安裝第三方庫:

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'
}

然后點(diǎn)擊 sync now

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

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

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

否則會(huì)報(bào)以下錯(cuò)誤:

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;
        });
        //給按鈕增加點(diǎn)擊事件
        Button myButton = findViewById(R.id.apibutton);
        myButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 處理點(diǎn)擊事件
                doGetData();
             }
        });
    }
    //以get方式訪問互聯(lián)網(wǎng)上的頁面,并返回?cái)?shù)據(jù)
    private void doGetData() {
        Toast.makeText(MainActivity.this, "按鈕被點(diǎn)擊了!", Toast.LENGTH_LONG).show();
        //1.創(chuàng)建HttpClient對(duì)象
        OkHttpClient okHttpClient = new OkHttpClient();
        //2.獲取request對(duì)象
        Request.Builder builder = new Request.Builder().url("https://www.bilibili.com/");
        Request request = builder.build();
        //3.異步請(qǐng)求發(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ò)請(qǐng)求返回結(jié)果:");
                    System.out.println(result);
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
        });
    }
}

四,測(cè)試效果:

界面:

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

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

相關(guān)文章

  • Jetpack Compose修飾符專項(xiàng)精講

    Jetpack Compose修飾符專項(xiàng)精講

    在今年的Google/IO大會(huì)上,亮相了一個(gè)全新的 Android 原生 UI 開發(fā)框架-Jetpack Compose, 與蘋果的SwiftIUI一樣,Jetpack Compose是一個(gè)聲明式的UI框架,它可簡(jiǎn)化并加快Android上的界面開發(fā),使用更少的代碼、強(qiáng)大的工具和直觀的 Kotlin API,快速讓應(yīng)用生動(dòng)而精彩
    2022-10-10
  • Android獲取App內(nèi)存使用情況的方法

    Android獲取App內(nèi)存使用情況的方法

    本篇文章主要介紹了Android獲取App內(nèi)存使用情況的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Android使用 Spinner控件實(shí)現(xiàn)下拉框功能

    Android使用 Spinner控件實(shí)現(xiàn)下拉框功能

    Spinner是android的一種控件,用它我們可以實(shí)現(xiàn)下拉框。下面通過實(shí)例代碼給大家介紹Android使用 Spinner控件實(shí)現(xiàn)下拉框功能,感興趣的朋友一起看看吧
    2018-08-08
  • Android刮刮卡實(shí)現(xiàn)原理與代碼講解

    Android刮刮卡實(shí)現(xiàn)原理與代碼講解

    這篇文章主要為大家詳細(xì)介紹了Android刮刮卡實(shí)現(xiàn)原理、實(shí)現(xiàn)原理步驟以及代碼講解,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Android集成Unity的兩種方案

    Android集成Unity的兩種方案

    現(xiàn)在市面上的形形色色Android客戶端,為了更優(yōu)的用戶體驗(yàn),我們開發(fā)的上游產(chǎn)品和交互往往會(huì)在界面里設(shè)計(jì)很多動(dòng)效,傳統(tǒng)的一頁頁的靜態(tài)展示頁面已經(jīng)不足以滿足用戶的審美需求了,本文將給大家分享Android集成Unity的兩種方案,感興趣的朋友可以參考下
    2024-05-05
  • Android Activity被回收的情況分析

    Android Activity被回收的情況分析

    Activity作為Android四大組件之一,他的啟動(dòng)絕對(duì)沒有那么簡(jiǎn)單。這里涉及到了系統(tǒng)服務(wù)進(jìn)程,啟動(dòng)過程細(xì)節(jié)很多,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值
    2022-11-11
  • Android UI之ImageView實(shí)現(xiàn)圖片旋轉(zhuǎn)和縮放

    Android UI之ImageView實(shí)現(xiàn)圖片旋轉(zhuǎn)和縮放

    這篇文章主要介紹了Android UI之ImageView實(shí)現(xiàn)圖片旋轉(zhuǎn)和縮放的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-09-09
  • android Activity相對(duì)布局的使用方法

    android Activity相對(duì)布局的使用方法

    Activity相對(duì)布局控件的位置是與其周圍控件的位置相關(guān)的,從名字可以看出來,這些位置都是相對(duì)的,確定出了其中一個(gè)控件的位置就可以確定另一個(gè)控件的位置,下面用實(shí)例說明Activity相對(duì)布局的使用方法
    2013-11-11
  • Android開發(fā)Retrofit源碼分析

    Android開發(fā)Retrofit源碼分析

    這篇文章主要為大家介紹了Android開發(fā)Retrofit源碼分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Java4Android開發(fā)教程(三)java基本概念

    Java4Android開發(fā)教程(三)java基本概念

    本文介紹了Java4Android的基本概念,都是開發(fā)必備的基礎(chǔ)知識(shí),希望能對(duì)大家有所幫助
    2014-10-10

最新評(píng)論