android网络编程(一)简单介绍

android的网络编程分为2种:基于socket的,和基于http协议的。


Http通信
以xml或者json为载体,相互通信数据。

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。

Socket通信
Socket与Http不同的是两个的协议不同,socket是面向TCP/UDP协议的,http通信时面向HTTP协议的。

Android对于http网络通信,提供了标准的java接口——httpURLConnection接口,以及apache的接口——httpclient接口。其中我自己用的比较多的是httpclient这个接口,因为它的功能更为丰富很有效。
同时http通信也分为post方式和get的方式,两个相比较的话,post传送的数据量比较大,安全性也比较高。

1. HttpURLConnection接口
      首先需要明确的是,Http通信中的POST和GET请求方式的不同。GET可以获得静态页面,也可以把参数放在URL字符串后面,传递给服务器。而POST方法的参数是放在Http请求中。因此,在编程之前,应当首先明确使用的请求方法,然后再根据所使用的方式选择相应的编程方式。

      HttpURLConnection是继承于URLConnection类,二者都是抽象类。其对象主要通过URL的openConnection方法获得。

      HttpURLConnection默认使用GET方式。
      如果需要使用POST方式,则需要setRequestMethod设置。

2. HttpClient接口
使用Apache提供的HttpClient接口同样可以进行HTTP操作。

HttpClient实际上是对Java提供方法的一些封装,在HttpURLConnection中的输入输出流操作,在这个接口中被统一封装成了HttpPost(HttpGet)和HttpResponse,这样,就减少了操作的繁琐性。

    另外,在使用POST方式进行传输时,需要进行字符编码。



你可能感兴趣的:(http)