《第一行Android代码》课件:第九章 看看精彩的世界-使用网络技术.pptx

《第一行Android代码》课件:第九章 看看精彩的世界-使用网络技术.pptx

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 看看精彩的世界- 使用网络技术;Android手机必须可以上网的,作为开发者的我们,需要考虑如何利用网络来编写更加出色的应用程序(大量使用网络技术)。接下来我们学习在手机端使用HTTP协议和服务器进行交互,并对服务器返回的数据进行解析(Android最常用的网络技术)。 ;9.1 WebView的用法 9.2 使用HTTP协议访问网络 9.3 解析XML格式数据 9.4 解析JSON格式数据 9.5 网络编程的最佳实践;WebView控件指在自己的应用程序里嵌入一个浏览器,来展示各种各样的网页。;;脚本 权限;HTTP协议的工作原理:就是客户端向服务端发送一条HTTP请求,服务器接收请求之后返回一些数据给客户端,然后客户端在对这些数据解析和处理。 浏览器的基本工作原理就是这样。;Android上发送HTTP请求一般有两种方式 HttpURLConnection HttpClient(在Android6.0系统,HttpClient已经正式废弃使用)。;1. 首先获取HttpURLConnection的实例,new 出一个URL对象,传入网络地址,然后调用openConnection()方法 2. 设置HTTP请求的方式,一般为GET(从服务器获取数据)和POST(提交数据给服务器)。 ;3. 自由定制,比如设置连接超时,读取超时的毫秒数,以及服务器希望得到一些消息头等 4. 调用getInputStream()获取到服务器返回的输入流,读取输入流 5.调用disconnect()关闭HTTP连接资源 ;Button ScrollView TextView;调用自定义的sendRequestWithHttpURLConnection;;;OkHttp网络通信库代替原生的HttpURLConnection,是由Square公司开发的(贡献:OkHttp,Picasso,Retrofit等开源项目)。? OkHttp项目的主要地址:/square/okhttp 目前版本3.9.0 ;1.使用OkHttp,添加依赖会,自动下载OkHttp库和Okio库(后者是前者的通信基础),添加内容如下: compile com.squareup.okhttp3:okhttp:3.8.0;2.创建OkHttpClient实例 OkHttpClient client=new OkHttpClient();;3.发送HTTP请求,就必须创建Request对象 Request request=new Request.Builder().build();4.通过在build()方法之前连缀来丰富Request对象,通过url()方法来设置目标的网络地址,如下所示: Request request=new Request.Builder() .url(/) .build();;5.调用OkHttpClient的newCall()方法创建一个Call对象,并调用execute()方法发送请求并获取服务器返回的数据(Response对象),如下所示: Response response = client.newCall(request).execute();;6. 通过以下方式得到返回具体内容 String responseData = response.body().string();;--3.如果发送一条POST请求,首先需构建出一个RequestBody对象来存放待提交的数据的参数,如下所示: RequestBody requestBody=new FormBody.Builder() .add(username,admin) .add(password,123456) .build();;--4.调用Request.Builder调用post()方法,传入RequestBody对象: Request request=new Request.Builder() .url(/) .post(requestBody) .build();;--5.接下来的操作就和GET请求一样了,调用execute()方法来发送请求并获取服务器返回数据。 Response response = client.newCall(request).execute();;--6. 通过以下方式得到返回具体内容 String responseData = response.body().string();;OkHttpClient client=new OkHttpClient(); Requ

您可能关注的文档

文档评论(0)

学习让人进步 + 关注
实名认证
内容提供者

活到老,学到老!知识无价!

1亿VIP精品文档

相关文档