本次要实现的功能为
1.用HttpURLConnection接收网络数据
2.用HttpURLConnection发送数据给网络,并获得网络响应的数据。
1.流程:用HttpURLConnection接收网络数据
第一步: 新建一个子线程来写通信代码
第二步: 用URL类处理访问地址
第三步: 用URL类里的openConnection()方法建立网络连接
第四步: 设置请求参数,比如:
用HttpURLConnetion类里的setRequestProperty()设置消息头,编码格式等等(可以省略);
用HttpURLConnetion类里的setConnectTimeout()设置网络连接时延迟时间(可以省略);
用HttpURLConnetion类里的setReadTimeout()设置读取网络数据时延迟时间(可以省略);
用HttpURLConnetion类里的setRequestMethod(“POST”)设置为post传输模式(可以省略);
用HttpURLConnetion类里的setRequestMethod(“GET”)设置为get传输模式(可以省略);
第五步: 用输入流获得网络数据
调用HttpURLConnection里的getInputStream()方法获得网络数据流
第六步: 用Handler处理获得的数据
第七步: 在AndroidManifest.xml文件中添加访问网络权限
<uses-permission android:name="android.permission.INTERNET" />
2.流程:用HttpURLConnection发送数据给网络并获得响应数据
第一步: 新建一个子线程来写通信代码
第二步:用URL类处理访问地址
第三步:用URL类里的openConnection()方法建立网络连接
第四步:设置请求参数
用HttpURLConnection里的setDoOutput(true)设置为可上传模式(必须要有);
用HttpURLConnetion类里的setRequestMethod(“POST”)设置为post传输模式(与上面的必须要有一个);
用HttpURLConnetion类里的setRequestProperty()设置消息头、编码格式等等(可以省略);
用HttpURLConnetion类里的setConnectTimeout()设置网络连接时延迟时间(可以省略);
用HttpURLConnetion类里的setReadTimeout()设置读取网络数据时延迟时间(可以省略);
第五步:用输出流发送数据
调用HttpURLConnection里的getOutputStream()方法发送数据流给网络,发送完后要用flush()清除缓存。
第六步:用输入流获得网络响应的数据
调用HttpURLConnection里的getInputStream()方法获得网络数据流
第七步:用Handler处理接收到的数据
第八步:在AndroidManifest.xml文件中添加访问网络权限
<uses-permission android:name="android.permission.INTERNET" />
UI代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.adminis.wedapp.URLConnectionActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">