Android移动应用开发基础教程第7章课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Android移动应用开发基础教程第7章课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 移动 应用 开发 基础教程 课件
- 资源描述:
-
1、Android移动应用开发基础教程讲授:XXXXX第7章 网络和数据解析本章主要内容:使用WebView 基于HTTP协议的网络访问方法 解析XML格式数据 解析JSON数据7.1 使用WebView WebView控件用于在Android应用中代替浏览器来显示网页。下面通过具体的实例说明如何使用WebView显示网页。首先在AndroidManifest.xml中申明网络访问权限为主活动布局添加一个WebView控件RelativeLayout xmlns:android=http:/ MainActivity.java protected void onCreate(Bundle save
2、dInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);WebView webView=(WebView)findViewById(R.id.webView);WebSettings ws=webView.getSettings();ws.setJavaScriptEnabled(true);/启用JavaScript webView.setWebViewClient(new WebViewClient();/使页面导航保持在WebView中 webView.loadUrl
3、(http:/);/载入网页7.2 基于HTTP协议的网络访问方法本节主要内容:1.使用HttpURLConnection2.使用OkHttp7.2.1 使用HttpURLConnection 使用HttpURLConnection的基本步骤 第1步:调用URL对象的openConnection()方法获得HttpURLConnection实例对象。例如:URL url=new URL(https:/);HttpURLConnection con=(HttpURLConnection)url.openConnection();第2步:设置HTTP请求方法。例如:con.setRequestMe
4、thod(GET);常用HTTP请求方法主要有GET和POST两种(注意大写)。GET方法一般用于仅仅希望从服务器返回数据,POST则可向服务器提交数据。第3步:设置请求相关参数。例如,可设置连接和请求的超时设置(单位为毫秒)。con.setConnectTimeout(6000);con.setReadTimeout(6000);如果是采用POST方式,则需要使用DataOutputStream来添加需要向服务器提交的数据。例如:con.setRequestMethod(POST);con.setDoOutput(true);DataOutputStream out=new DataOutp
5、utStream(con.getOutputStream();out.writeBytes(id=admin&pwd=123);向服务器提交的数据采用键值对的方式表示,键值对之间用&符号分隔。第4步:处理返回结果。调用HttpURLConnection对象的getInputStream()方法,获得服务器返回结果的InputStream,从中可获取服务器返回结果。例如:InputStream in=con.getInputStream();reader=new BufferedReader(new InputStreamReader(in);StringBuilder result=new S
6、tringBuilder();String s;s=reader.readLine();while(s!=null)result.append(s);s=reader.readLine();7.2.2 使用OkHttp HttpURLConnection 将服务器响应结果封装在InputStream中,需要编程从中读取结果。OkHttp是Square公司开发的一个开源HTTP访问项目,使用起来非常简单。OkHttp主页地址为http:/square.github.io/okhttp,从中可了解OkHttp详细信息。目前,OkHttp最新版本为3.8.0。使用OkHttp步骤 第1步:需要修改项
7、目的app/build.gradle文件,添加OkHttp库编译信息。例如:dependencies compile com.android.support:appcompat-v7:25.3.1 testCompile junit:junit:4.12 compile com.squareup.okhttp3:okhttp:3.8.0 Gradle在构建项目时,可自动下载需要的OkHttp相关的库文件。使用OkHttp步骤 第2步:创建OkHttpClient对象。例如:OkHttpClient okClient=new OkHttpClient();第3步:创建Request.Builde
8、r来创建Request对象。例如:Request.Builder builder=new Request.Builder();builder.url(https:/);Request request=builder.build();默认OkHttp使用GET方法完成Http请求。如果要使用POST方法向服务器提交数据,则需要创建RequestBody对象来封装数据。例如:RequestBody requestBody=new FormBody.Builder().add(id,admin).add(password,123).build();builder.post(requestBody);
9、使用OkHttp步骤 第4步:调用Request对象的execute()方法执行请求,返回结果封装在Response对象中。例如:Response response=okClient.newCall(request).execute();第5步:获得字符串形式的返回结果。例如:String result=response.body().string();7.3 解析XML格式数据 XML已成为一种常用的数据交换格式。应用的配置、应用之间交换数据或者是网络数据传输,都会用到XML格式。http:/ 准备XML数据 在学习如何解析从服务器获得的XML数据之前,先做一些准备工作,准备好服务器端的XM
10、L数据。本书采用Windows 10自带的IIS作为Web服务器,在服务器中创建的XML文件getxml.xml。admin 123 jike 456 7.3.2 DOM解析方式 DOM 将XML文档看作是一个树形结构,每个标签作为一个节点。DOM解析会遍历XML文档的树形结构,以获得节点和节点文本。读者可访问http:/ DOM详细内容。下面通过一个实例说明如何在Android应用中获取并解析XML文档。(实例项目:源代码07ParseXml)实例关键步骤:申明网络访问权限 实例关键步骤:修改app/build.gradle,添加OkHttp编译信息dependencies compile
11、com.squareup.okhttp3:okhttp:3.8.0实例关键步骤:为主活动布局添加控件LinearLayout 实例关键步骤:修改MainActivity.javaprotected void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tvXml=(TextView)findViewById(R.id.tvXml);Button btGetXml=(Button)findViewById(R.id.btGe
12、tXml);btGetXml.setOnClickListener(new View.OnClickListener()Override public void onClick(View v)/点击按钮时通过HTTP请求获取XML文档 new Thread(new Runnable()Override public void run()doUrlGet();).start(););实例关键步骤:修改MainActivity.javaButton btDomXml=(Button)findViewById(R.id.btDomXml);btDomXml.setOnClickListener(ne
展开阅读全文