• 安卓开发基础知识-补习8


    听说点赞关注的人,身体健康,万事如意,工作顺利,爱情甜蜜,一夜暴富,升职加薪……最终迎娶白富美!!!


    ‼️微信公众号:炜煜工作室

    🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱

    📡 :安卓开发基础知识-补习8💯

    📰内容简介:

    本文介绍了HttpURLConnection,使用java代码进行开发,如果有问题的地方请不吝指教,如果对文内内容有不理解的地方,也希望能积极主动的联系博主进行深刻的探讨,以便于让博主更深刻的记住这篇博文的内容,好让博主在发光发热的道路上越走越远。[手动狗头]🐶努力,奋斗!

    📎 标签:安卓;java;HttpURLConnection;

    🔍一、HttpURLConnection

    1. HttpURLConnection类继承自UrlConnection。UrlConnection是一个抽象类,表示URL指向资源的而链接,其子类包含著仍HttpURLConnection,FtURLConnection,FileURLConnection等各种的连接类。

    2. 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资源的读写操作,也是通过InputStreamOutputStream读取和写入数据。下面的代码获得了InputStream对象和OutPutStream对象。
      InputStream is = httpURLConnection.getInputStream();
      OutputStream os  = httpURLConnection.getOutputStream();
      至于是先读取还是先写入数据,需要更具具体情况而定。
      6,关闭流
      is.close();
      os.close();
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21

      要使用网络需要在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”
      ;**/
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      <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>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20

    🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱

    📌内容总结:

    🕥本文介绍了HttpURLConnection,还有🐛没有写到本文内,后续内容可以继续追踪博主的后续文章,或许会介绍相关的内容,如果没介绍,请用力踢一脚,好让摸鱼的博主积极主动的去认识错误并及时改正,在发光发热的道路上越走越远……


    表情网站:🎁 Emoji cheat sheet for GitHub, Basecamp, Slack & more (webfx.com)

  • 相关阅读:
    主成分分析(PCA)介绍
    有效的括号(Java版)
    const int* , const int * const, int * const之间的区别
    关于时间片调度算法issue的分析与解决
    云平台将故障Pod流量下线通用思路与OpenShift操作实战
    mysql存储过程标准模板
    简单了解JDBC相关操作
    perl之print,printf,sprintf使用案例详解
    【单片机基础】ADC0832详解
    关于多线程同步的一切:乱序执行和内存屏障
  • 原文地址:https://blog.csdn.net/weixin_44402395/article/details/127558916