Android学生信息管理系统计算机毕业设计论文.doc

上传人:仙人指路1688 文档编号:2393521 上传时间:2023-02-17 格式:DOC 页数:51 大小:1.85MB
返回 下载 相关 举报
Android学生信息管理系统计算机毕业设计论文.doc_第1页
第1页 / 共51页
Android学生信息管理系统计算机毕业设计论文.doc_第2页
第2页 / 共51页
Android学生信息管理系统计算机毕业设计论文.doc_第3页
第3页 / 共51页
Android学生信息管理系统计算机毕业设计论文.doc_第4页
第4页 / 共51页
Android学生信息管理系统计算机毕业设计论文.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《Android学生信息管理系统计算机毕业设计论文.doc》由会员分享,可在线阅读,更多相关《Android学生信息管理系统计算机毕业设计论文.doc(51页珍藏版)》请在三一办公上搜索。

1、基于Android学生基本信息管理的设计与开发摘 要随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网访问Web网站并处理各种各样的业务。因此,智能手机的应用软件及其需要的服务将有广阔的发展前景。 在如今这个智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。这款软件包括了操作系统、用户界面和应用程

2、序,即智能手机工作所需要的全部软件。Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,Android平台具有无限的吸引力。本文就在分析讨论Android手机软件开发技术原理的基础上,开发出能为大学学生提供更好的基于Android的学生信息管理软件。关键字: Android;学生基本信息Based on the Androids design and development of students basic information managementABS

3、TRACT With the rapid proliferation of smart phones, smart phone operating system market, wind and water. In order for smart phone users to check the Internet anytime, anywhere services provided an efficient way to expand the function of the system will be applied to the mobile phone terminal, the mo

4、bile phone to Internet access via mobile networks, and variety of Web sites and process business. Therefore, the smart phone applications and the need for the service will have broad prospects for development. In todays smart phone system when disputes warlords, 2008, Google introduced a smart phone

5、 called the Android open source operating system, which uses Linux kernel, Open Handset Alliance (OHA) members can be free to use and modify the SDK package, the system It has a good open-source nature of the expansion of. The software includes the operating system, user interface and applications t

6、hat need to work smart phones all the software. Androids biggest feature is its open architecture, not only has a very good development and debugging environment, but also supports a variety of scalable user experience, including rich graphical components, multimedia support, and powerful browser. T

7、herefore, for software professionals is, Android platform has unlimited appeal. In this paper, the analysis and discussion Android mobile phone software development technology on the basis of the principle, developed to provide students with better platform to students basic information management b

8、ased on Android meteorological software. Key Words: Taiyuan University of Technology; Android; information management目录摘 要IABSTRACTII1 绪论11.1 课题背景11.2 系统内容及开发意义12 Android平台及相关技术简介22.1 Android现状及发展22.2 Android系统特点22.3 Android的功能特征32.4 Android架构分析42.4.1 应用程序框架42.4.2 类库52.5 运行环境62.5.1 操作系统62.5.2 Androi

9、d开发变量及其配置62.6 Android开发环境搭建62.6.1 计算机配置62.6.2 安装JDK62.6.3 安装Eclipse72.6.4 安装SDK72.6.5 安装ADT72.6.6 设置Eclipse82.6.7 创建AVD82.7 HTTP协议82.8 JSOUP92.8.1 简介92.8.2 文档输入102.8.3 解析并提取 HTML 元素102.8.4 修改数据102.8.5 HTML 文档清理103 Android应用程序结构剖析113.1 Android的API113.2 Android应用程序结构解析123.2.1 活动123.2.2 意图接收器133.2.3 服务

10、133.2.4 内容提供者133.3 Intent的详细解析133.3.1 Intent的抽象描述133.3.2 Android中 Intent的使用143.4 Android活动的生命周期153.4.1 活动的生命状态153.4.2 活动的运作流程174 需求分析184.1 背景184.2 假定条件下的约束限制184.2.1 硬件约束184.2.2 用户约束184.3 系统目标184.4 先行组织机构及业务现状184.5 功能需求194.6 性能需求194.7 界面友好194.8 快速响应194.9 数据安全194.10 数据需求195 系统概要设计215.1 系统功能模块215.2 系统实

11、现流程图215.3 网络传输模块概要设计225.3.1 设计思路225.3.2 数据获取235.3.3 网络连接236 系统详细设计与实现246.1 登录模块246.2 成绩查询模块266.3 本学期课表查询模块286.4 修改密码模块306.5 分享模块327 测试用例337.1 设计过程中出现的问题337.2 目标337.3 运行与测试环境337.4 功能测试337.4.1 登录模块测试337.4.2 用户选择模块测试337.4.3 各大功能模块测试347.5 非功能测试347.5.1 实时性测试347.5.2 安装/反安装测试347.5.3 兼容性测试357.5.4 用户界面测试35总

12、结36参考文献37致 谢38附录一 英文文献原文39附录二 中文译文441 绪论1.1 课题背景随着科学技术的发展,计算机网络技术的普及和对办公效率的要求越来越高,很多高校开始网络化办公改革,将更多的平常工作(入通信联系,发放通知,传递文件等)通过网络这个平台来完成。经过一段时间的发展,网络在搞笑日常锅里中实现的功能越来越多,数字化校园管理系统应运而生。我们学校是采用浏览器/服务器(b/s)模式,这种模式想对最初的人工管理方便了许多,不在需要大量的人力,学生要登陆并操作管理系统也不再需要排队和拥挤,更不会因为在系统上的操作会耽误正常的教学任务(问卷调查等)。b/s模式的校园信息系统只需要一台能

13、访问网络的浏览器即可。只要信息系统服务器端提供个人信息,考试成绩,课程表等等业务模块,在客户端的浏览器视窗中就能进行相应模块的功能管理。这种b/s模式的信息管理系统具有不限时间,地点等优势,然而随着移动互联网的发展这种b/s模式的信息管理系统也存在很多不足,比如你想要进行相关操作,就必须坐在电脑前,而且课程开设的通知等等也是要通过上网才知道,对于一些不常上网的同学可能会错过很多有用的消息,比如说课程调整,成绩发布等等。而这些缺陷都可以通过移动终端来解决。1.2 系统内容及开发意义综上所诉,在平时的校园生活中,教务系统给予各系的同学许多方便,学校缴费,选课调课,查询考试,报名考证等等,都可以通过

14、电脑登录教务系统来得到解决。而为了让教务系统变得更加便利,我们有必要开发一个基于Android平台下的学生信息信息管理系统。同学们就可以通过安装有Android系统的只能手机来登陆和操作信息管理系统,并随时随地查看信息系统的信息。同时对于软件工程系的我而言,这是见证我们四年所学的最佳机遇。这一次的软件开发过程,给了一个让我发挥的平台。2 Android平台及相关技术简介2.1 Android现状及发展Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Googl

15、e与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。Android 作为谷歌企业战略的重要组成部分,将进一步推进随时随地为每个人提供信息这一企业目标的实现。我们发现,全球为数众多的移动电话用户从未使用过任何基于 Android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android 将补充,而

16、不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。开放手机联盟的成立和 Android 的推出是对现状的重大改变,在带来初步效益之前,还需要不小的耐心和高昂的投入。在2012年,Android手机的全球销量为4.815部,占据了全球智能手机68.8%的市场份额。在2013年,这个数字上升到了7.812亿、78.9%,这是一个相当惊人的数字。不过,这些数字当中,还蕴含了一些有趣的部分。比如在2013年第四季度,25%的Android手机并未包含谷歌服务,以亚马逊、国内的小米等厂商为主。显然,这种现象说明了即

17、使Android极受欢迎,但碎片化则十分严重。再来看看Android版本的分布情况。目前,最新的Android 4.4显然尚不成气候,Android 4.3/4.2/4.1则占据了59.1%的份额,Android 4.0下降到16.9%,其他22.5%则是老旧的Android 2.X。显然,双核/四核处理器已经向低端产品普及,越来越多的手机都能够搭载更新版本的系统版本,但碎片化依然是谷歌需要考虑的课题。2.2 Android系统特点Android系统最震撼人心之处在于其开放性和服务的免费性方面。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPh

18、one等只能添加为数不多的固定软件的枷锁;同时与Windows Mobile(现叫Windows Phone)、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省30%的成本。Android平台的手机以及平板电脑具有以下5大特点:1、 开放性。在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很将走向成熟,苹果的IOS系统封闭;无向任何厂商提供,Windows Phone系统封闭,厂商需要花高价购买;Nokia的Symbian之前

19、也一直是封闭,现在已经末落了。2、 挣脱运营商的束缚。在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从Android上市,用户可以更加方便地连接网络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意揍人网络已不是运营商口中的笑谈。3、 丰富的硬件选择。这一点还是与Android平台的开放性相关。由于Android的开放性,众多的厂商会推出丰富多彩、各具特色的多种产品。功能上的差异和特色却不会影响到数据同步、甚至软件的兼容性。好比用户从诺基亚的Symbian(塞班)风格手机一下改用

20、装载Android(安卓)系统的手机,同时还可将Symbian中优秀的软件带到新手机上使用,联系人等资料更是可以方便地转移。4、 不受任何限制的开发商。Android平台提供给第三方开发商一个十分宽泛、自由的环境,因此不会受到各种条条框框的阻挠,可想而知,这样会有多少新颖别致的软件会诞生。但这也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android开发人员的难题之一。5、 无缝结合的Google应用。如今Google在互联网领域已经走过十多年历史,从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将

21、无缝结合这些Google应用。2.3 Android的功能特征(l)应用程序架构:在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间。(2)Dalvik虚拟机器:在Android平台上所使用Java虚拟机,不是Sim公司的标准Java虚拟机,而是使用Google自主开发的代号为Dalvik的虚拟机,它在保证API方面的兼容的同时,针对移动手机进行了大幅优化,占用资源更小,运行效率更高。(3)集成的浏览器:集成的浏览器是Android内建的浏览器,是以WebKit的浏览引擎为基础所开发成的。WedKit是一个开源浏览器网页

22、排版引擎,目前使用WebKit引擎的浏览器主要有:Safari,Midori,Epiphany等。配合Android手机的功能,可以在浏览网页时,达到更好的效果,例如:局部性的缩放网页上的资讯、触控式的操作等效果。(4)优化的绘图能力:在程序里可以用到的绘图功能分为2D与3D两个方面。在2D方面,Android提供了一套特有的类库(SGL;而在3D方面则是使用OpenGLES1.0(openGL for Embedded systems)规范的类库。它们是一种非常快的图形引擎,并且支持硬件加速。(5)SQLite数据库:SQLite提供结构化的数据存取。SQLite是一款轻型的数据库,它的设计

23、目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。它能够支持Windows/Linux/U nix等主流的操作系统,同时能够跟很多程序语言相结合,比如php,Java等,还有ODBC接口,同样比起Mysql,PostgreSQL来讲,它的处理速度比它们都快。它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB但支持数据库大小至2TB。它虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库。同时它还支持事务功能和并发处理等等。SQLite也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。(6)多媒体的支持能

24、力:主要用于播放媒体文件。这同时包括对音频(如播放MP3或其他音乐文件等)和视频(如播放从网上下载的视频)的支持,并支持“播放URI地址”(Note:URI即是统一资源识别地址)模式在网络上直接播放的流媒体。另外支持各种通用的静态图像格式,例如:JPG、PNG、GIF等格式。(7)GSM技术:Global System for Mobile Communications,即全球移动通讯系统,俗称”全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。GSM技术是属于手机硬件方面的展现,也是在开

25、发Android应用程序时可以突出的特点之一。(8)蓝牙、EDGE、3G及Wi-Fi:蓝牙是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM,Evolution),即增强型数据速率GSM演进技术。EDGE是一种从GSM到3G的过渡技术,它主要是在GSM系统中采用了一种新的调制方法,即最先进的多时隙操作和SPSK调制技术。由于8PSK可将现有GSM网络采用的GMSK调制技术的信号空间从2扩展到8,从而使每个符号所包含的信息是原来的4倍。Wi-Fi(WirelessFidelity),即无线保

26、真技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。该技术使用的是2.4GHz附近的频段,该频段目前尚属没用许可的无线频段。其目前可使用的标准有两个,分别是IEEE802.lla和IEEE802.11b。这些通讯能力也是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。(9)GPS: Global Positioning System,即全球定位系统,它是一个由覆盖全球的24颗卫星组成的卫星系统。这个系统可以保证在任意时刻和任何地点都可以同时观测到4颗卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。这项技术可以用来引

27、导飞机、船舶、车辆以及个人。这个同样也是属于手机硬体方面的体现,也是在开发Android应用程序是可以突出的特点之一。2.4 Android架构分析2.4.1 应用程序框架在Android SDK中,定义了让开发者使用与核心应用程序相同API的权限应用程序框架是为了要简化组件的重新利用而设计的,应用程序可以发布功能为其它应用程序所使用。但是,这要受限于应用程序架构的安全机制,使用者以用同样的机制来新增、置换组件。目前所有的应用程序是由服务及系统来组成,包含有:(l)一套强大和可扩展的视图系统:用来建构一个应用程序的基本组件,包了在开发系统画面时,常用的列表、网格、文本框、按钮等控制项,甚至是内

28、嵌的Web浏览器。 (2)内容提供者:使应用程序可以访问另一个应用程序的数据(如联系人数库),或者共享它们自己的数据。(3)资源管理器:提供各种非程序代码的资源让应用程序去使用。例如:本字符串、图形文件或排版相关的布局文件。(4)通知管理器:提供应用程序在状态栏中显示应用程序自定义的提示信息。(5)活动管理器:管理所有应用程序的生命周期及提供常用的导航回退功能。例如:启动应用程序要用到的资源准备及关闭应用程序时释放内存及相关资源等工作。(6)视窗管理器:用来管理所有启动程序的视窗。(7)位置管理器:用来管理地图服务的相关功能。(8)电话管理器:用来管理用户拨打与接听电话的相关功能。(9)包管理

29、器:管理所有安装在Android系统内的包。2.4.2 类库在Android中包含一些C/C+的类库,这些类库能被Android系统中不同的组件来使用。开发者可以通过应用程序框架使用这些功能。部分核心类库列表如下:(1)surface Manager:主要的功能是让开发者可以去存取/显示系统及管理的功能,在显示与存取操作间的对应、互动以及实现无接缝的2D/3D多应用程序之间的整合。例如:在2D、2D显示上的合成、叠合动作。(2)3Dlibraries:主要是依openGLES1.0规范所定义的3D绘图引擎。该库使用硬件加速(当硬件可用时),可以将硬件的3D功能做最佳化的处理显示。(3)SGL:

30、主要是处理有关显示2D方面的绘图引擎。(4)Media Frame work:主要是以packetVideo公司的OpenCORE为基础所发展的多媒体类库,该库支持回放和录制大量流行的音视频格式和静态图片。例如:MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF等格式(5)Free Type:主要是用来显示点阵图和处理向量字形的。(6)SSL:(secureSocketsuyer),中文名为“安全套接层协议层”,它是网景公司提出的基于WEB应用的安全协议,当前版本为3.0。SSL协议指定了一种在应用程序协议(如HTTP、Telenet、NMTP和FTP等)和TCP/IP协议

31、之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL协议位于TCP胆协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL Record Proto col):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Hand shake proto col):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。SS

32、L协议提供的服务主要有:认证用户和服务器,确保数据发送到正确的客户机和服务器;加密数据以防止数据中途被窃取;维护数据的完整性,确保数据在传输过程中不被改变。(7)SQLite:SQLite是一套开放性的关联式资料库,能够被所有应用程序使用的轻量级的关系数据库引擎。(8)web Kit:是一个先进的网页浏览器引擎,被用来构建Android浏览器和内嵌的web视图,也可以让开发者利用这个引擎来做不同的应用。(9)lib c:就是一个BSD标准C类库。但是,针对Linux嵌入式装置进行过最佳化的调整。2.5 运行环境2.5.1 操作系统Windows XP或者VistaMac OS X 10.4.8

33、 或者更高版本(仅支持x86)Linux(Linux Ubuntu Dapper Drake)2.5.2 Android开发变量及其配置Eclipse3.3(Europa),3.4(Ganymede)Eclipse JDT 插件(大多数的Eclipse IDE包包含)WST(可选,但Android编辑器的功能需要,他被包含在most Eclipse IDE packages中)JDK 5或者JDK 6(中有JRE是不够的)Android Development Tools 插件(可选)不兼容GNU Java编译器2.6 Android开发环境搭建2.6.1 计算机配置开发Android应用所用

34、到的开发工具较占内存,尤其是模拟器。官方并未给出最低配置要求,根据个人实际体会,在本人Intel Core i7-2630QM 四核处理器及8G内存的情况,能流畅使用。另外还需有600MB以上的剩余磁盘空间(官方文档中的说明)。2.6.2 安装JDK由于Android开发是基于Java的基础上的,所以我们必须得安装JDK(JDK下载地址:1. 右击计算机-属性-高级系统设置-高级-环境变量,新建“系统变量”,设置变量名:“java_home”。变量值: “C:Program FilesJavajdk1.7.0_02”(视个人安装路径而定)。2. 找到变量名为path的项,双击,在变量值后面添加

35、:“;%JAVA_HOME%bin;”,3. 新建“系统变量”变量名:“classpath”,变量值:“.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;” 配置完成后,重启可以在cmd下输入java或者javac测试。2.6.3 安装EclipseEclipse是我们以后在Android开发时使用的开发平台,它集成了很多功能以及插件,在开发的过程中便于我们使用,在官网(http:/www.eclipse.org/downloads/)可以下载到对应系统以及功能的安装包,在安装提示安装完成后并且完成了JDK的安装后即可正常使用。2.6.4 安装SDK

36、SDK(Software Development Kit)初始包中有开发Android程序所要用到的工具,它包括了从编译到运行Android应用程序所需要的各种工具。安装时可以根据自己的需求选择安装相应的版本。(SDK下载地址:http:/developer.A2.6.5 安装ADT按照2.3.4安装完SDK初始包后,就可以开始开发Android应用程序了,但是为了更高效地进行开发,Android团队推出了Android Development Tools (ADT) 。ADT是目前开发Android应用最有效的工具,它是一个Eclipse插件,支持Eclipse 3.4及3.4以上的版本。以

37、Eclipse 3.5 (Galileo)为例,安装过程如下:(1) 打开Eclipse,选择 Help Install New Softare。(2) 在Available Software 对话框中,点击Add.。(3) 在弹出的Add Site 对话框中,任意填写一个名字到Name一栏。在Location一栏,则填入这一URL:“https:/dl-(4) 返回到Available Software 窗口后,就能看到列表中出现了Developer Tools ,选中它前面的复选框,再点击“Next”,就会开始下载安装ADT的各种组件了。(5) 安装完毕后将弹出窗口显示ADT相关的各种信息

38、以及许可协议,点击“Finish“即可完成安装。(6) 重新启动Eclipse。2.6.6 设置Eclipse(1) 选择Window Preferences. 打开偏好设置(2) 从左侧边栏中选择Android一栏。(3) 单击SDK Location一栏边的Browse按钮,选择刚刚下载的SDK保存的路径。(4) 点击Apply,OK,设置生效。至此,Android的开发环境就已经搭建完毕,可以使用了 。2.6.7 创建AVD在安装好JDK,Eclipse,SDK,ADK之后我们就可以进行Android项目开发了,但是在开发的过程中我们经常需要运行、调试我们所开发的软件,这就需要用到AVD

39、(Android Virtual Device),也就是Android虚拟机。1. 打开Eclipse。2. 点击Opens the Android Virtual Device Manager图标按钮。3. 在弹出的窗口中点击New新建一个Android虚拟机。4. 在弹出的新建虚拟机窗口中Name一栏填上虚拟机的名称(一般与虚拟机的版本号相同,便于区分)。5. 在Target一栏选择一个Android虚拟机版本(如Android2.2或Android2.1)。6. 在SD Card下的Size一栏填上我们要设定的SD卡容量大小。7. 点击Create AVD,这样我们的一个Android虚

40、拟机就创建好了。2.7 HTTP协议超文本传送协议 (HTTP) 是一种通信协议,它允许将超文本标记语言(HTML) 文档从 Web 服务器传送到 Web浏览器。HTML 是一种用于创建文档的标记语言,这些文档包含到相关信息的链接。您可以单击一个链接来访问其它文档、图像或多媒体对象,并获得关于链接项的附加信息。HTTP工作在TCP/IP协议体系中的TCP协议上。客户机和服务器必须都支持 HTTP,才能在万维网上发送和接收 HTML 文档并进行交互。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完

41、善和扩展。前一段时间用的是HTTP/1.0,现在WWW中使用的是HTTP/1.1。而且HTTP-NG(Next Generation of HTTP)的建议已经提出。主要特点可概括如下:支持客户/服务器模式。 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收

42、到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。发出的请求信息包括以下几个:请求行,例如GET /images/logo.gif HTTP/1.1,表示从/images目录下请求logo.gif这个文件。(请求)头,例如Accept-Language: en可选的消息体请求行和标题必须以作为结尾(也就是,回车然后换行)。空行内必须只有而无其他空格。在HTTP/1.1协

43、议中,所有的请求头,除Host外,都是可选的。请求方法:HTTP/1.1协议中共定义了八种方法(有时也叫“动作”)来表明Request-URI指定的资源的不同操作方式:OPTIONS返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送*的请求来测试服务器的功能性。HEAD向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。GET向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在web app.中。其中一个原因是GET可能会被网络蜘蛛等随意访问。PO

44、ST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。PUT向指定资源位置上传其最新内容。DELETE请求服务器删除Request-URI所标识的资源。TRACE回显服务器收到的请求,主要用于测试或诊断。2.8 JSOUP2.8.1 简介JSOUP是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过 DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。JSOUP的主要功能如下:1. 从一个URL,文件或字符串中解析HTML;2. 使用

45、DOM或 CSS选择器来查找、取出数据;3. 可操作HTML元素、属性、文本;JSOUP是基于MIT协议发布的,可放心使用于商业项目。2.8.2 文档输入JSOUP可以从包括字符串、URL地址以及本地文件来加载HTML文档,并生成 Document对象实例。2.8.3 解析并提取 HTML 元素这部分涉及一个HTML解析器最基本的功能,但JSOUP使用一种有别于其他开源项目的方式选择器2.8.4 修改数据在解析文档的同时,我们可能会需要对文档中的某些元素进行修改,例如我们可以为文档中的所有图片增加可点击链接、修改链接地址或者是修改文本等。2.8.5 HTML 文档清理JSOUP在提供强大的AP

46、I同时,人性化方面也做得非常好。在做网站的时候,经常会提供用户评论的功能。有些用户比较淘气,会搞一些脚本到评论内容中,而这些脚本可能会破坏整个页面的行为,更严重的是获取一些机要信息,例如XSS跨站点攻击之类的。3 Android应用程序结构剖析3.1 Android的APIAndroid API主要包含了以下几个部分:(1)AndroidManifest.xmlAndroidManifest.xml是系统的控制文件,它告诉系统如何处理所创建的所有应用组件(尤其是活动(Activity),服务(Service),意图接收器(Intent Receiver)和内容提供者(Content Provider)。举例来说,控制文件就是把活动和要接收的意图(Intents)连接在一起的“胶水”。(2)活动活动就是一个有生命周期的对象。一个活动就是完成某些工作的代码块,这部分工作还可能包括对用户UI界面的显示。不过这不是必须的,有些活动从不显示UI界面。(3)视图视图可以将其自身绘制到屏幕上。Android的用户界面由一系列的视图树构成。接口都是由一组以树的形式出现的视图组成的。开发者可以通过创建一个新的视图的方法来使用自定义的图形处理技术(比如开发游戏,或者是使用了不常用的用户图形窗口界面)。(4)意图意图是一个简单的消息对

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号