Android中的网络操作
# API 28 新特性
API 28默认的网络请求均为HTTPS,限制HTTP请求
如果不使用Https
,则会出现UnknownServiceException
的错误
# 方法一
I. 添加网络请求权限,如果还使用网络请求的缓存功能,那么还要申请读写外存的权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
1
2
3
2
3
II. 创建安全配置文件
- 在res文件夹下创建
xml/network_security_config
文件 - 增加
cleartextTrafficPermitted
属性
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<!--禁用掉明文流量的检查-->
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
1
2
3
4
5
2
3
4
5
III. 添加安全配置文件
- 在AndroidMenifest中的Application中声明
android:networkSecurityConfig="@xml/network_security_config"
1
# 方法二
I. 添加网络请求权限,如果还使用网络请求的缓存功能,那么还要申请读写外存的权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
1
2
3
2
3
II. 在application节点添加
<application
……………………
android:usesCleartextTraffic="true">
………………………………
</application>
1
2
3
4
5
6
7
2
3
4
5
6
7
# 请求网络数据步骤
1. 实例化一个URL对象
2. 获取HttpURLConnection对象
3. 设置请求连接属性
4. 获取响应码,判断连接结果码
5. 读取输入流并解析
编辑 (opens new window)
上次更新: 2021/06/17, 17:05:09