码迷,mamicode.com
首页 > 移动开发 > 详细

Android使用Http协议访问网络

时间:2017-09-07 13:41:39      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:post请求   nbsp   介绍   比较   tpc   请求方法   网络数   新版本   ges   

      Http协议工作原理大致可以理解为:客户端向服务器发出一条HTTP请求,服务器收到请求后返回一些数据给客户端,客户端对收到数据解析。

在Android6.0以前,Android上发送Http请求主要有两种方式:HttpURLConnection和HttpClient。其中HttpClient存在过多的API且难扩展,于是在Android6.0系统中,HttpClient被完全移除,如需使用,需导入相应文件。这里介绍最近我最近学习的HttpURLConnection的基本使用方法,然后接下来介绍一种当下比较流行的网络通信库Okhttp。 

      Android获取网络数据主要有get和post方法,get表示从服务器获取数据,Post表示提交数据给服务器。

   1.首先新建一个HttpURLConnectionDemo文件,添加两个按钮,分别表示使用get方法与post方法。技术分享

2.为按钮添加点击事件,分别执行doGet与doPost方法。

技术分享

 

  • Get请求

技术分享

 注意,这里的方法必须在子线程中执行,否则运行时会报android.os.NetworkOnMainThreadException错误,表示不能在主线程中执行网络请求。

  • Post请求

技术分享

 

 当然,最重要的一点,在访问网络之前,需要申明网络权限,修改AndroidManifest.xml中的代码,

技术分享

之后运行代码,就可以得到相应数据。

      可以看出使用HttpURLConnection比较繁琐,我们可以使用当前流行的OkHttp网络通信库代替它。Okhttp是由大名鼎鼎的Square公司开发,简单易用。初学者可以通过HttpURLConnection了解其网络访问流程,但在实际项目开发过程中,使用比较多的是Okhttp,Okhttp的项目主页地址是:http://github.com/square/okhttp.

    1. 在使用Okhttp之前,需要在项目中添加依赖项,通过访问Okhttp项目主页地址查找当前Okhttp的最新版本号。

技术分享

2.然后点击右上角的技术分享,完成同步。新建项目,这里在前面HttpURLConnextionDemo基础上修改。

3.在HttpURLConnextionDemo基础上申明一个OkHttpClient,技术分享

4.分别使用两种请求获取数据,其中get请求使用同步请求方法,post请求使用的是异步请求回调的方法。

  • get请求

技术分享

  • post请求

技术分享

 

Android使用Http协议访问网络

标签:post请求   nbsp   介绍   比较   tpc   请求方法   网络数   新版本   ges   

原文地址:http://www.cnblogs.com/zxinbk/p/7488807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!