日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android_NetWork_Test

發布時間:2025/3/21 Android 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android_NetWork_Test 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • api27以前
      • 配置文件申請網絡權限
      • 異步發送網絡請求
      • 使用HttpURLConnection
    • api27以后
      • 換成商城api
    • Gsonfomat插件:

api27以前

配置文件申請網絡權限

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

異步發送網絡請求

使用HttpURLConnection

package com.kanxue.androidnetwork;import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View;import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.util.Map; import java.util.Set;public class MainActivity extends AppCompatActivity {private static final String TAG = "MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void loadJson(View view){new Thread(new Runnable() {@Overridepublic void run() {try {URL url =new URL("http://192.168.31.65:9102/get/text");HttpURLConnection httpURLConnection =(HttpURLConnection)url.openConnection();httpURLConnection.setConnectTimeout(10000);httpURLConnection.setRequestMethod("GET");httpURLConnection.setRequestProperty("Accept-Language","zh-CN,zh;q=0.9");httpURLConnection.setRequestProperty("Accept-Encoding","gzip, deflate, br");httpURLConnection.setRequestProperty("Accept","*/*");httpURLConnection.connect();int responseCode=httpURLConnection.getResponseCode();if(responseCode==200){Map <String, List<String>> headerFields=httpURLConnection.getHeaderFields();Set <Map.Entry<String, List<String>>> entries=headerFields.entrySet();for (Map.Entry<String, List<String>> entry:entries){Log.d(TAG,entry.getKey() +"=="+entry.getValue());}Object content=httpURLConnection.getContent();Log.d(TAG,"content --->"+content);}} catch (Exception e) {e.printStackTrace();}}}).start();} }

InputStream inputStream =httpURLConnection.getInputStream(); BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream)); String line=bufferedReader.readLine();

api27以后

同樣的代碼,api29顯示如下報錯

在manifest里面application標簽加入一行代碼:

android:usesCleartextTraffic="true"

變成了這樣:

<applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:usesCleartextTraffic="true"android:theme="@style/Theme.AndroidNetWork" >

換成商城api

URL url =new URL("https://api.sunofbeaches.com/shop/discovery/categories");

android:networkSecurityConfig=""

usesCleartextTraffic直接寫成true就行,networkSecurityConfig需要寫一個網絡配置文件(在res目錄下創建一個xml目錄,xml目錄放一個關于網絡配置的xml文件)
https://developer.android.google.cn/training/articles/security-config#manifest


修改之后如下:

<?xml version="1.0" encoding="utf-8"?> <network-security-config><domain-config><domain includeSubdomains="true">sunofbeaches.com</domain><domain-config cleartextTrafficPermitted="true"><domain includeSubdomains="true">www.sunofbeaches.com</domain></domain-config></domain-config> </network-security-config>

這里為什么要那么改呢,因為我們案例訪問的網址是:

https://api.sunofbeaches.com/shop/discovery/categories

然后配置文件寫入androidManifest文件中,如下:

<applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:usesCleartextTraffic="true"android:networkSecurityConfig="@xml/network_sercurity"android:theme="@style/Theme.AndroidNetWork" >

Gsonfomat插件:


不能勾選這個:

總結

以上是生活随笔為你收集整理的Android_NetWork_Test的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。