听说点赞关注的人,身体健康,万事如意,工作顺利,爱情甜蜜,一夜暴富,升职加薪……最终迎娶白富美!!!
‼️微信公众号:炜煜工作室
🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱
HttpURLConnection类继承自UrlConnection。UrlConnection是一个抽象类,表示URL指向资源的而链接,其子类包含著仍HttpURLConnection,FtURLConnection,FileURLConnection等各种的连接类。
java.net.HttpURLConnection类是一种访问HTTP资源的方式,HttpURLConnection类具有完全的访问能力,可以取代HttpClient中的HttpGet和HttpPost类。使用HttpURLConnection访问HTTP资源可以使用如下六步:
1,使用java.net.URL封装HTTP资源的URL,并使用openConnection()方案发获得HttpURLConnection对象。
URL url = new URL("请求的网址");
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
2,设置请求方法,例如GET,POST等,代码如下。
httpURLConnection.setRequestMethod("POST");
注意:setRequestMethod()方法的参数值必须大写,例如:GET,POST等;
3,设置输入/输出及其他权限。如果要下载HTTP资源或向服务器端上传数据,需要使用如下代码进行设置。
下载HTTP资源,需要将setDoInput()方法的参数值设置为true;
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
HttpURLConnection类还包含更多的选项。使用下面的代码可以禁用缓存。
httpURLConnection.setUseCaches(false);
4,设置HTTP请求头。在很多情况下,要根据实际情况设置一些HTTP请求头,下面的代码设置了Charset请求的头的值为UTF-8
httpURLConnection.setRequetProperty("charset","UTF-8");
5,输入和输出数据。这一步是对HTTP资源的读写操作,也是通过InputStream和OutputStream读取和写入数据。下面的代码获得了InputStream对象和OutPutStream对象。
InputStream is = httpURLConnection.getInputStream();
OutputStream os = httpURLConnection.getOutputStream();
至于是先读取还是先写入数据,需要更具具体情况而定。
6,关闭流
is.close();
os.close();
要使用网络需要在Androidmainiface.xml文件中增加一些新的网络相关的权限才可以正常使用。
主要的权限如下:
ndroid.permission.ACCESS_NETWORK_STATE :允许程序访问有关GSM网络信息
android.permission.ACCESS_WIFI_STATE :允许程序访问wifi网络状态信息
android.permission.INTERNET :允许程序连接网络的权限
//这里最主要的是第三个权限,直接决定了我们的应用程序是否能够联网。当然其他权限也是非常重要的。
/***
从安卓9.0开始,NetworkSecuityPolicy。getInstance().isCleartextTrafficPermitted(),将返回false,这表示安卓默认将禁止明文访问网络,只允许使用HTTPS URL访问。为了避免强制启用HTTPS,可以在Androidmainface.xml中添加android:usesCleartextTraffic=“true”
;**/
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.jxcia.char0801">
<application
android:alloBack = "true"
android:icon = "......"
android:icon = "......"
......
>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN">action>
<category android:name="android.intent.category.LAUNCHER">category>
intent-filter>
activity>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">uses-permission>
<uses-permission addroid:name="android.permission.INSERT">uses-permission>
application>
manifest>
🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱
表情网站:🎁 Emoji cheat sheet for GitHub, Basecamp, Slack & more (webfx.com)