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

Android Studio OkHttpClient使用教程詳解

 更新時間:2020年09月23日 10:47:00   作者:手撕高達的村長  
這篇文章主要介紹了Android Studio OkHttpClient使用教程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

本次來記錄下OkHttpClient的使用,OkHttpClient是用來完成android 客戶端對服務端請求的工具。

首先記住,使用網(wǎng)絡的時候一定要加入權限,加入到AndroidMainfest.xml中

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

在初次使用的時候會出現(xiàn)報錯。cannot resolve symbol OkHttpClient

這里需要引入

implementation 'com.squareup.okhttp3:okhttp:3.0.1'
然后刷新下項目就可以了。

代碼:

package com.example.administrator.testclient;


import com.squareup.*;

import java.io.IOException;

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

public class BaseHttpClient {

 public static final MediaType MEDIA_TYPE_MARKDOWN
   = MediaType.parse("text/x-markdown; charset=utf-8");
 // 01. 定義okhttp
 private final OkHttpClient client = new OkHttpClient();

 public BaseHttpClient(){

  //client.connectTimeoutMillis();
 }


 /**
  * 發(fā)送一個表單請求
  * @throws Exception
  */
 public void SendForm() throws Exception {
  RequestBody formBody = new FormBody.Builder()
    .add("search", "Jurassic Park")
    .build();
  Request request = new Request.Builder()
    .url("https://en.wikipedia.org/w/index.php")
    .post(formBody)
    .build();

  Response response = client.newCall(request).execute();
  if (!response.isSuccessful())
   throw new IOException("Unexpected code " + response);

  System.out.println(response.body().string());
 }

 /**POST 請求
  * 發(fā)送一個string請求
  * @throws Exception
  */
 public void SendPostString() throws Exception {
  String postBody = ""
    + "Releases\n"
    + "--------\n"
    + "\n"
    + " * _1.0_ May 6, 2013\n"
    + " * _1.1_ June 15, 2013\n"
    + " * _1.2_ August 11, 2013\n";

  Request request = new Request.Builder()
    .url("https://api.github.com/markdown/raw")
    .post(RequestBody.create(MEDIA_TYPE_MARKDOWN, postBody))
    .build();

  Response response = client.newCall(request).execute();
  if (!response.isSuccessful())
   throw new IOException("Unexpected code " + response);

  System.out.println(response.body().string());
 }

 /**POST 請求
  * 發(fā)送一個From請求
  * @throws Exception
  */
 public void SendPostFrom() throws Exception {

  RequestBody body = new FormBody.Builder()
    .add("name", "sy")//添加參數(shù)體
    .add("age", "18")
    .build();

  Request request = new Request.Builder()
    .post(body) //請求參數(shù)
    .url("http://123.207.70.54:8080/SpringMvc/hello")
    .build();

  Response response = client.newCall(request).execute();
  if (!response.isSuccessful())
   throw new IOException("Unexpected code " + response);
 }

 /**Get請求
  * 發(fā)送一個From請求
  * @throws Exception
  */
 public void SendGetFrom() throws Exception {

  Request request = new Request.Builder()
    .get() //請求參數(shù)
    .url("http://123.207.70.54:8080/SpringMvc/hello")
    .build();

  Response response = client.newCall(request).execute();
  if (!response.isSuccessful())
   throw new IOException("Unexpected code " + response);
 }

}

測試發(fā)現(xiàn),上面的用不了,下面放一個測試通過的方法:

public void getDatasyncFactory(){
    new Thread(new Runnable() {
     @Override
     public void run() {
      try {
       OkHttpClient client = new OkHttpClient();//創(chuàng)建OkHttpClient對象
       Request request = new Request.Builder()
         .url("http://123.207.70.54:8080/SpringMvc/hello")//請求接口。如果需要傳參拼接到接口后面。
         .build();//創(chuàng)建Request 對象
       Response response = null;
       response = client.newCall(request).execute();//得到Response 對象
       if (response.isSuccessful()) {
        Log.d("kwwl","response.code()=="+response.code());
        Log.d("kwwl","response.message()=="+response.message());
        Log.d("kwwl","res=="+response.body());
        //此時的代碼執(zhí)行在子線程,修改UI的操作請使用handler跳轉(zhuǎn)到UI線程。
       }
      } catch (Exception e) {
       e.printStackTrace();
      }
     }
    }).start();
   }

返回信息:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Android編程獲取SD卡路徑及剩余容量的方法

    Android編程獲取SD卡路徑及剩余容量的方法

    這篇文章主要介紹了Android編程獲取SD卡路徑及剩余容量的方法,涉及Android針對SD卡的狀態(tài)判斷,路徑獲取及容量計算等相關技巧,需要的朋友可以參考下
    2016-04-04
  • Java操作FreeMarker模板引擎的基本用法示例小結(jié)

    Java操作FreeMarker模板引擎的基本用法示例小結(jié)

    這篇文章主要介紹了Java操作FreeMarker模板引擎的基本用法示例小結(jié),FreeMarker本身由Java寫成,用模板來生成文本輸出,需要的朋友可以參考下
    2016-02-02
  • Android獲取SD卡上圖片和視頻縮略圖的小例子

    Android獲取SD卡上圖片和視頻縮略圖的小例子

    如果我們需要快速提取圖片和視頻縮略圖可以直接訪問android.provider.MediaStore.Images.Thumbnails 和android.provider.MediaStore.Video.Thumbnails這兩個數(shù)據(jù)庫,即可查詢出來縮略圖 。
    2013-06-06
  • Android設置Activity背景為透明style的簡單方法(必看)

    Android設置Activity背景為透明style的簡單方法(必看)

    下面小編就為大家?guī)硪黄狝ndroid設置Activity背景為透明style的簡單方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • Android編程使用內(nèi)容提供者方式(ContentProvider)進行存儲的方法

    Android編程使用內(nèi)容提供者方式(ContentProvider)進行存儲的方法

    這篇文章主要介紹了Android編程使用內(nèi)容提供者方式進行存儲的方法,涉及Android內(nèi)容提供者的創(chuàng)建,配置及針對數(shù)據(jù)的增刪改查等操作技巧,需要的朋友可以參考下
    2016-01-01
  • Android Glide 4.0+使用詳解

    Android Glide 4.0+使用詳解

    這篇文章主要介紹了Android Glide 4.0+使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Android項目中引入aar包的正確方法介紹

    Android項目中引入aar包的正確方法介紹

    生成aar之后下一步就是如何引用本地的aar文件,下面這篇文章主要給大家介紹了關于Android項目中引入aar包的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Android中ListView用法實例分析

    Android中ListView用法實例分析

    這篇文章主要介紹了Android中ListView用法,結(jié)合實例形式分析了ListView的功能,使用技巧與相關注意事項,需要的朋友可以參考下
    2016-02-02
  • Android四大組件之Activity深入解讀生命周期

    Android四大組件之Activity深入解讀生命周期

    雖然說我們天天都在使用Activity,但是你真的對Activity的生命機制完全了解了嗎?Activity的生命周期方法只有七個,但是其實那只是默認的情況。也就是說在其他情況下,Activity的生命周期可能不會是按照我們以前所知道的流程,這就要說到Activity的啟動模式
    2022-07-07
  • Android簡單音樂播放實例

    Android簡單音樂播放實例

    這篇文章主要介紹了Android簡單音樂播放實例,詳細介紹了Android Service使用方法
    2015-12-12

最新評論