android 4.0 网络编程详解,学习Android网络编程简单总结

最近学到了Android的网络编程,在这里简单总结记录一下。

AAffA0nNPuCLAAAAAElFTkSuQmCC

如上图所示,

从Android4.0开始,要求访问网络不能在UI主线程里进行,这就要求开发者新建线程来访问网络。并且,更重要的一点,不能在子线程中更新UI。

但是,我们从网络上获取数据必须在子线程中完成,UI主线程负责更新UI的内容,该怎么办?

这时候,子线程获取的网络数据,必须由子线程发送给UI主线程。

这就要用到androd中的headler机制。

headler原理:

headler存在于UI主线程中,在访问网络的子线程中使用headler发送message给UI主线程,UI主线程得到message里封装的数据,就可以更新UI了。

有两种常用的框架封装了headler,方便异步访问网络:

1、AsyncTask异步任务,Android自带

2、volley ,google , 常用于请求json数据和图片

在访问网络的子线程中,有两种访问方式:

1、HttpClient

2、HttpUrlConnection