下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章 Android客户端与服务端交互,主讲:朱强 E-mail: 博客:,本讲目标,理解Android客户端和服务端交互过程 掌握Java EE技术在Android开发中的应用 理解Android应用和传统Web应用的区别 掌握JSON的基本使用 掌握JSONObject和JSONArray的使用 理解GET和POST的区别 掌握Android客户端发送请求的方式 会进行带服务端的Android应用开发,概述,对于大多数的Android应用,都是需要服务端的配合才能正常工作的。 Android客户端运行在用户手机上,负责提供用户的操作界面。 服务端负责处理Android客户端的请求,包括查
2、询和保存数据等。 一般而言,服务端就是采用传统的Web技术来实现的。所以,掌握了任何一种Web技术的程序员,都可以从事Android应用的服务端开发工作。,服务端的主要技术,(1)ASP技术:比较古老,微软推出的,现在用的比较少了。 (2)ASP.NET技术:微软推出的,学校一般会开设这个课程,它一般的组合是:ASP.NET+SQL Server。 (3)PHP技术:开源的、流行的、做网站用的比较多的Web技术。它一般的组合是:PHP+MySQL。 (4)Java EE技术:Oracle公司的,强大的、做大型Web技术。高薪的选择。大型项目:Java EE+Oracle,中小型项目:Java
3、EE+MySQL 本节课将采用Java EE技术进行演示。,HTTP协议(GET和POST),超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。 网站(Web应用)是使用HTTP协议的常见的场景。 HTTP协议中,发送数据有两种常见的方式: (1)GET方式: GET方式发送的数据长度有限,一般通过URL地址上来发送。 例如: name=zhang&pwd=123 (2)POST方式:发送的数据长度没有限制。居多情况我们会采用此方式来提交。,提示,实际上,Android客户端和服务端的交互过程:就是模拟网页浏览器的工作原理来
4、进行的。 Android客户端以GET或POST方式来将用户输入的数据或请求提交给服务端。 与传统的Web应用相比,Android应用就是将网站页面换成了Android界面而已,对于服务端的处理代码是一样的。,两类应用的比较,1、传统的Web应用: HTML/JSP+ Java EE(Servlet+JDBC) 2、Android应用: Android + Java EE(Servlet+JDBC) 这两类应用的开发,是咱们必须要掌握的技术。它不仅在学习中有着重要的地位,同时社会需要求旺盛的方向。,JSON,随着标准化的推进,一般Android客户端和服务端之间按照JSON数据格式来进行交互。
5、 JSON(JavaScript Object Notation,JavaScript 对象表示法) 是一种轻量级的数据交换格式.类似 XML。JSON 比 XML 更小、更快,更易解析。 JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 是纯文本,独立于语言和平台。 JSON 具有“自我描述性”(人类可读),JSON的两种典型格式,1、JSON对象:用于表达一条记录。 JSON对象是由“键-值”对组成的数据结构. 例: name,张三,sex,男 2、JSON数组:用于表达多条记录。 name,张三,sex,男, name,李四,sex,女,Android客户端如何发
6、送GET或POST请求?,Apache开源组织提供了HttpClient工具可以实现发送POST或GET请求。 为了简化大家的学习,对于发送的过程,已经做成了一个类HttpUtil。大家学会怎么调用即可。 这个类有一个常量:BASE_URL,用于定义服务端的地址 有两个方法:getRequest和postRequest 分别用于通过GET方式和POST方式来发送据,方法返回值就是服务器的响应数据。,如何把数据组装成JSON格式的?,1、Android客户端: Android SDK的org.json包里已经提供了JSONObject、JSONArray两个类来实现。 2、服务端: Java并身
7、并未提供对JSON的支持,但是已经有了第三方类库(.jar文件)来实现了JSON的操作,操作了JSONObject、JSONArray类,我们直接引入到项目中即可。,实战项目:网上逃犯查询系统,今天我们开发第1个功能:用户登录。 1、Android端 在Android开发环境中,创建Android项目,名为:crimeclient 2、服务端 在MyEclipse中,创建Web项目,名为:crimeserver 3、数据库(MySQL) 通过navicat,在MySQL中创建数据库crimedb 今天先创建一张表:用户表(user),用户指的是使用该系统公安民警,Android端,登录界面,Android项目结构图,LoginActivity.java,LoginActivity.java,HttpUtil.java,1,切记:在模拟器中要访问本地真实电脑,本地电脑IP用 或实际IP。 2,因为在模拟器连接本地服务器,所以需要Android应用有联网的权限,所以在android应用中的AndroidManifest.xml文件中增加“联网“权限。 代码如下: uses-permission android:name=andro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年辽宁省兴城市高三生物下册期末考试模拟卷及参考答案
- 2026年贵州省赤水市高三生物下册期末考试模拟试卷(含答案)
- 2026年湖北省洪湖市高三生物上册期末考试模拟考试卷含答案
- 2026年河北省新乐市高三生物下册期末考试模拟考试卷及答案
- 2026年云南省芒市高三生物上册期末考试自测卷含答案
- 2026年山东省莱西市高一化学上册期末考试模拟卷【突破训练】附答案
- 2026年黑龙江省富锦市高一化学上册期末考试模拟试卷含答案(精练)
- 2026年江西省德兴市高三生物下册期末考试模拟试卷及参考答案
- 2026年四川省万源市高三物理下册期末考试模拟卷及答案
- 2026年江苏省启东市高一历史下册期末考试真题含完整答案【各地真题】
- 村医院感知识培训
- 售后服务组织架构及人员岗位职责
- DLT 572-2021 电力变压器运行规程
- 护理管理学基础第五章 岗位管理与绩效管理课件
- 磷酸型燃料电池
- CCAR-21简介教学课件
- 视译入门(视频课)智慧树知到课后章节答案2023年下北京第二外国语学院
- 旅游消费者行为课件
- 自动三面切书机设计
- 焙烤食品工艺学完整全套教学课件
- 【安徽省合肥市】高三下学期第二次教学质量检测语文试卷及答案
评论
0/150
提交评论