android中xml解析-网络教学平台-山东商业职业技术学院

上传人:繁星 文档编号:88247087 上传时间:2019-04-22 格式:PPT 页数:24 大小:2.06MB
返回 下载 相关 举报
android中xml解析-网络教学平台-山东商业职业技术学院_第1页
第1页 / 共24页
android中xml解析-网络教学平台-山东商业职业技术学院_第2页
第2页 / 共24页
android中xml解析-网络教学平台-山东商业职业技术学院_第3页
第3页 / 共24页
android中xml解析-网络教学平台-山东商业职业技术学院_第4页
第4页 / 共24页
android中xml解析-网络教学平台-山东商业职业技术学院_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《android中xml解析-网络教学平台-山东商业职业技术学院》由会员分享,可在线阅读,更多相关《android中xml解析-网络教学平台-山东商业职业技术学院(24页珍藏版)》请在金锄头文库上搜索。

1、网络编程,山东商业职业技术学院,Shandong Institute of Commerce and Technology,主要内容,工作任务描述,为项目实现将智能设备数据存储到PC数据库的功能 为项目实现从智能设备端查询显示PC端数据库的数据的功能,代码展示:,Android中Socket编程,工作任务所涉及到的基础知识,Socket Socket通常也称作“套接字“,用于描述IP 地址和端口,是一个通信链的句柄。应用 程序通常通过“套接字”向网络发出请求或者 应答网络请求。 Android中的Socket编程完全沿袭Java SE 平台中的Socket编程方式 需要添加 android.p

2、ermission.INTERNET权限,服务器 使用ServerSocket监听指定的端口,端口 可以随意指定(由于1024以下的端口通常 属于保留端口,在一些操作系统中不可以 随意使用,所以建议使用大于1024的端 口),等待客户连接请求,客户连接后, 会话产生;在完成会话后,关闭连接。,客户端 使用Socket对网络上某一个服务器的某一 个端口发出连接请求,一旦连接成功,打 开会话;会话完成后,关闭Socket。,URL,J包 openConnection(): URLConnection URLConnection getInputStream() getOutputStream(),

3、Android中Http开发,第三方HTTP工具,HttpClient接口 (org.apache.http.client) ClientConnectionManager接口(org.apache.http.conn) requestConnection() 请求连接 releaseConnection() 释放连接 Shutdown() 关闭管理器 释放所有资源 DefaultHttpClient HttpClient的实现类 (org.apache.http.impl.client) HttpResponse (org.apache.http) 封装了响应信息,GET方式,创建HttpG

4、et对象,参数是地址字符串 (org.apache.http.client.methods) 创建HttpClient对象,调用execute方法,参数是HttpGet对象,返回HttpResponse对象 判断response.getStatusLine().getStatusCode() 是否为200,如果是,则调用EntityUtils.toString(response.getEntity(),取得返回的String,去掉其中的空格换行 (EntityUtils来自org.apache.http.util),String httpUrl = “http:/192.168.1.110:8

5、080/httpget.jsp?par=HttpClient_android_Get“; HttpGet httpRequest = new HttpGet(httpUrl); try HttpClient httpclient = new DefaultHttpClient(); HttpResponse httpResponse = httpclient.execute(httpRequest); if (httpResponse.getStatusLine().getStatusCode() = 200) String strResult = EntityUtils.toString(h

6、ttpResponse.getEntity(); mTextView.setText(strResult); else mTextView.setText(“请求错误!“); catch (Exception e) mTextView.setText(e.getMessage().toString(); ,POST方式,创建HttpPost对象,参数为地址字符串(org.apache.http.client.methods) 创建泛型为NameValuePair的List params,其中放入若干BasicNameValuePair,调用构造方法填入参数 (NameValuePair 来自o

7、rg.apache.http包,BasicNameValuePair来自org.apache.http.message包) 对HttpPost对象调用setEntity方法,设置参数编码方式参数:new UrlEncodedFormEntity(params,”gbk”) (UrlEncodedFromEntity来自org.apache.http.client.entity包),POST方式,创建HttpClient对象,调用execute方法,参数是HttpPost对象,返回HttpResponse对象 判断response.getStatusLine().getStatusCode()

8、是否为200,如果是,则调用EntityUtils.toString(response.getEntity(),取得返回的String,去掉其中的空格换行,String httpUrl = “http:/192.168.1.110:8080/httpget.jsp“; HttpPost httpRequest = new HttpPost(httpUrl); List params = new ArrayList(); params.add(new BasicNameValuePair(“par“, “HttpClient_android_Post“); try HttpEntity http

9、entity = new UrlEncodedFormEntity(params, “gb2312“); httpRequest.setEntity(httpentity); HttpClient httpclient = new DefaultHttpClient(); HttpResponse httpResponse = httpclient.execute(httpRequest); if (httpResponse.getStatusLine().getStatusCode() = 200) String strResult = EntityUtils.toString(httpRe

10、sponse.getEntity(); mTextView.setText(strResult); else mTextView.setText(“请求错误!“); Catch (Exception e) mTextView.setText(e.getMessage().toString(); ,WebView,Android内置的浏览器组件,基于WebKit loadURL(String url) 加载网页 canGoForward() goForward() 前进 canGoBack() goBack() 后退 setWebChromeClient(WebChromeClient) 参数写

11、个内部类继承WebChromeClient,覆盖onProgressChanged方法 设置进度条 setWebViewClient(WebViewClient) 参数写个内部类继承WebViewClient.否则,再次链接会自动启动手机上其他的浏览器 getSettings() 获得WebSettings对象,对其调用setJavaScriptEnabled,setSupportZoom loadData() 直接加载数据,可以用来显示HTML文本,public void onCreate(Bundle savedInstanceState) super.onCreate(savedInst

12、anceState); getWindow().requestFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.main); final WebView wv = (WebView)this.findViewById(R.id.wv); Button ok = (Button)this.findViewById(R.id.ok); final EditText address=(EditText)this.findViewById(R.id.address); wv.setWebChromeClient(new WebChrom

13、eClient() public void onProgressChanged(WebView view,int newProgress) WebViewActivity.this.setProgress(newProgress*100); public void onReceivedTitle(WebView view,String title) WebViewActivity.this.setTitle(title); super.onReceivedTitle(view, title); );,wv.setWebViewClient(new WebViewClient(); ok.set

14、OnClickListener(new View.OnClickListener() public void onClick(View v) String url = address.getText().toString(); if (URLUtil.isNetworkUrl(url) wv.loadUrl(url); else Toast.makeText(WebViewActivity.this, “地址不合法“, Toast.LENGTH_LONG).show(); ); ,Android中XML解析,XML解析概述,关于XML XML解析器,XML被设计用于传输和存储数据,它是一种通用

15、的数据交换格式。例如,Web service主要传递的就是xml格式的数据。因此,我们需要掌握XML解析器的用法。,SAX解析XML,关于SAX SAX解析XML文档的过程,SAX的全称是Simple API for XML,它是基于事件驱动方式来执行XML解析工作的,简单地说,就是对文档进行顺序扫描,在扫描的同时进行解析。,SAX解析XML,四个接口,通过SAX解析XML,需要实现SAX2.0定义的4个核心接口,如下: org.xml.sax.ContentHander org.xml.sax.ErrorHandler org.xml.sax.DTDHandler org.xml.sax.EntityResolver 一般我们通过继承org.xml.sax.helpers.DefaultHandler类实现基于SAX的XML解析器类。,SAX解析XML,示例,person.xml,person.java,在Activity中调用,本地XML,XML与Activity在同一目录,对于远程的XML该如何处理?,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号