</pre>首先,我们都知道现在Android网络编程只需要利用AfinalHTTP框架很简单的就可以实现。但是我还是想把Android原生的网络编程总结一下,毕竟万变不离其宗。</h3><h3>声明:本人初学,只是写出了知其然却没有知其所以然(即本人也不是太了解具体的实现原理,只是会用。大神们可以绕了。。)</h3><h3>一,前提:注意对网络的访问不可以在主线程中(耗时,以免阻塞)可以利用AsyncTask,即异步处理机制。亦或Handler+Thread机制进行线程之间的通信。</h3><h3><span style="font-size:12px">二,其实也可以利严苛模式(只需要几句简单的代码),就可以在UI线程进行网络的访问了,不过不推荐这种。</span></h3><h3>好了,进入主题。</h3><h3>Android中的网络编程,我把它分为两类,一类是Scoket编程,一类HTTP编程。Scoket编程我是自学,在此不多讲。说一下HTTP编程</h3><h3>HTTP是超文本传输协议的缩写,用来传输超文本数据。Android提供了HttpURLConnection和HttpClient两个接口开发访问程序的接口。</h3><h3><span style="color:#ff0000">1:这种方式通过URL</span></h3><h3><span style="color:#ff0000">HttpURLConnection继承URLConnection类,两个都是抽象类,无法背直接实例化。通过URL中的openConnection方法获得实例</span></h3><div><pre name="code" class="html" style="font-size: 14px; font-weight: bold;">1)创建一个URL对象
URL url = new URL(http://www.baidu.com); //URL可以为一个Servlet地址。
2)利用HttpURLConnection对象从网络中获取网页数据
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
3)设置连接超时
conn.setConnectTimeout(6*1000);
4)对响应码进行判断
if (conn.getResponseCode() != 200) //从Internet获取网页,发送请求,将网页以流的形式读回来
throw new RuntimeException("请求url失败");
5)得到网络返回的输入流
InputStream is = conn.getInputStream();
6)把输入流转化为字节数组
byte data[]=take(is) //我写了一个名字叫take方法,用来把流转化为数组,很简单,略 有空我会来完善的
7)吧数组转化为字符串
String b=new String(data);
此时,b就是服务器端给你传送的东西。已经完毕,你如果想要传送对象信息,可以利用Gson解析。