一次http请求的过程
建立连接 请求发送 处理请求 返回数据 发送请求2 关闭连接
http请求的常用方法
Get
Post
http请求格式
请求行
请求头
请求体
http响应的格式
响应行(包含响应码:200 404 500 302)
响应头
响应体
使用HttpConnection
url(path):包含请求路径的构造方法
openConnectoion():得到连接对象
HttpUrlConnecyion:代表与服务连接的类
setrequestmethod(Get/post):设置请求方式
setDoinput(true/false):设置可以接受获取服务端返回的数据
setdooutput(true/false):设置可以向服务端嵌入写入数据
setconnecttimeout(time):设置连接超时时间,单位ms
setReadTimerout(time):设置读取服务器返回数据的时间
CONNECT():连接服务器
int getResponuseCode():得到服务器返回的结果码
Int getContenelength():得到服务器返回数据的长度(字节)
getOuutputStream():返回一直指向服务端的数据输出流
disconnect():断开连接
实际开发中,绝大多数的app都需要与服务器进行数据交互,此时就需要用到HttpURLCONNECTION,他是一个标准的java类
需要注意的是,是使用它访问对象网络时,需要设置超时时间,如果不设置超时时间,在网络异常的情况下,会取不到数据而一直等待导致程序僵死不往下执行。
Handler消息机制
MessageQueue是消息队列的意思,它主要用来存放通过handler发送的消息。通过handler发送的消息会存在MessageQueue中等待处理。他是一个按message排序的优先级队列。
looper是每一个线程中的MessageQueue的管家,调用looper的loop()方法后,就会进入到一个无线循环中,然后依次发现MessageQueur中存在的一条消息,就会将他取出,并传递到handler的handelerMessage()方法中。
使用handler的一般步骤
1.穿件hadler成员变量对象,并重写其handleMessage()
2.在分/主线程创建message对象
3.使用handler对象发送message
4.在handleMessage()中处理消息
Handler消息处理首先需要在ui线程创建一个handler对象,然后在子线程中调用hanlder的sendMessage()方法,接着这个消息会存放在ui线程中的MessageQueue中,通过looper对象取出MessageQueue中的消息
最后分发回Hanlder的handleMessge()方法中。
消息处理
最新推荐文章于 2022-08-19 16:23:43 发布