文章目录

  • 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相关推荐

最新文章

  1. LeetCode简单题之环和杆
  2. Ubuntu18.04下无法进入图形界面、无法调整分辨率、无法重装显卡驱动问题的解决方式
  3. Nature科学报告:根据大脑思维意图来生成对应匹配的图像
  4. Ubuntu20.04 更新后黑屏无法加载驱动
  5. 如何在下一个网页设计项目中使用Google字体
  6. 【mysql】解决MySQL GPG密钥过期问题
  7. The Generalist和Visualize Value在去中心化内容发布平台Mirror上发起众筹
  8. ECharts4简单入门
  9. java的scjp考试_Sun认证Java程序员(SCJP)考试
  10. 软件封装-单文件打包
  11. 用asp.net发送电子邮件
  12. python安装包提示error: option --single-version-externally-managed not recognized
  13. SpringBoot掌握的差不多了,就剩下一个Actuator没搞定了,本文详细来介绍!!!
  14. 测试系统导出Excel无法打开
  15. 数学机器人不解人意?
  16. 服务器控件之asp:Button的onClick属性
  17. 阿联酋亚洲杯 伊朗2:0轻取越南 携手伊拉克、沙特提前出线
  18. mysql远程服务器返回错误404_网站服务器经常性出现404错误了怎么办?
  19. java 四级联动_四级联动
  20. PHP绿茶小说站群网站源码 自适应电脑+手机端

热门文章

  1. TF之DD:利用Inception模型+GD算法生成带背景的大尺寸、高质量的Deep Dream图片——五个架构设计思维导图
  2. 成功解决Exception “unhandled ModuleNotFoundError“No module named ‘sklearn.neighbors.classification‘
  3. 成功解决Remix Mock compiler: Source not found
  4. 成功解决pywintypes.com_error: (-2147352567, '发生意外。', (0, 'Kingsoft WPS', '文档保存失败。', '', 3011, -214746725
  5. XJOI 3629 非严格次小生成树(pqq的礼物)
  6. 字符串在内存中的存储——C语言进阶
  7. CentOS中安装MySQL数据库
  8. 一步一步实现网站的多语言版本
  9. Net中常见问题及解决方法整理
  10. BLE-NRF51822教程10—动态密码(配对码)