1. HTTP协议有几种访问网络的方式,请说明各访问方式的特点?
答:HTTP协议提供2种访问网络的方式,分别是GET方式和POST方式。它们各自的特点如下:
(1) GET方式
GET方式向服务器提交的参数跟在请求URL后面,以实体的方式得到由请求URL所指向的资源信息。用此方式访问网络URL的长度有限制,一般要小于1K。
(2) POST方式
用此方式向服务器发送请求时,提交的参数在请求后的实体中。POST方式对访问网络URL的长度没有限制。使用POST方式请求网络,由于用户无法在浏览器中看到向服务器提交的请求参数,因此比GET方式安全。
2. 请说明Handler机制中的四个重要类的功能。
Handler机制主要包括四个重要类,分别是:Message、Handler、MessageQueue、Looper。
(1) Message:消息,可以携带少量在不同线程之间交换的数据。Message类有两个字段,其中what字段携带整型数据,obj字段携带一个Object对象。消息是Handler处理的对象。
(2) MessageQueue:消息队列,将Handler发送过来的Message排列成先入先出的队列。每个线程中只能有一个MessageQueue对象。
(3) Handler:处理者,主要负责发送及处理消息(Message)。使用sendMessage()方法发送消息,发出的消息经过一系列的处理后,使用handlerMessage()方法处理消息。
(4) Looper:消息循环,是每个线程中MessageQueue的管家。持续从MessageQueue中抽取Message并交给Handler。每个线程中只有一个Looper对象。在主线程中创建Handler对象时,系统默认存在一个Looper对象,无需手动创建,但子线程中的Handler对象,需要调用Looper.loop()方法开启消息循环。