大学毕业论文-—基于android系统的幻灯片无线播放系统研究.doc

上传人:可**** 文档编号:93229485 上传时间:2023-07-01 格式:DOC 页数:62 大小:3.56MB
返回 下载 相关 举报
大学毕业论文-—基于android系统的幻灯片无线播放系统研究.doc_第1页
第1页 / 共62页
大学毕业论文-—基于android系统的幻灯片无线播放系统研究.doc_第2页
第2页 / 共62页
点击查看更多>>
资源描述

《大学毕业论文-—基于android系统的幻灯片无线播放系统研究.doc》由会员分享,可在线阅读,更多相关《大学毕业论文-—基于android系统的幻灯片无线播放系统研究.doc(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、理工大学学士学位论文摘 要目前的幻灯片播放系统,大部分采用将计算机与投影仪有线连接,在计算机中使用微软开发的PowerPoint软件进行幻灯片的播放并将播放数据通过有线传输到投影仪,投影仪经过数据处理将幻灯片投射到幕布等显示设备上。此类幻灯片的播放系统无法让演讲者在展示的时候随意走动,有一定的限制性。在各种商务场合,PPT演示成为不可缺少的沟通方式,例如客户见面会、商务会谈或私人会务。通过演示PPT文稿,可让对方更清晰直观了解你要表达的意图,增加商务谈判的成功率。在WIFI局域网下,手机可以和电脑通过Socket通信。手机做服务端,电脑做客户端;而本系统通过一台平板电脑即可实现幻灯片的无线播放

2、功能,并且不需要复杂的布线和连接,使用简单、维护方便。而且通过平板电脑的多媒体显示功能还可以提升企业形象,甚至通过播放广告信息还可为企业增加额外收入。不少商务精英经常要在移动办公环境中为客户演示PPT文稿,例如咖啡馆、商务会馆或办公室。不同于正襟危坐的会议形式的是,讲演者借助装有Android的平板电脑,及内置的“自动播放”功能,无论在何种场合都可以召开小型会议。在会议室里,只需将平板与显示器、投影仪、智能电视等显示设备连接,就可通过大屏幕将PPT内容同步播放给观众。让观众可以更直观清晰了解PPT内容,让PPT演示更精彩。关键词: PPT;无线同步;Socket通信AbstractSlides

3、 of broadcasting system at present, most of them adopt the computer and projector cable connection, in a computer using Microsoft PowerPoint software to play slides and will play data by wire transfer to the projector, projector through data processing to slide onto a screen display devices, etc. Th

4、ese slides playback system cant let the speaker walked on, have certain restriction.In all kinds of business occasions, PowerPoint presentations to become indispensable means of communication, such as customer meeting, business talks or private affairs. Through the presentation PPT presentation, can

5、 let each other more clearly understand what do you want to express intentions, increase the success rate of business negotiation.The WIFI local area net, a cell phone and computer can be through the Socket communication. Phone do server-side, client computers do. But this system through a tablet sl

6、ides wireless display function can be realized, and does not require complex wiring and connection, simple to use, easy maintenance. And a multimedia display by tablet can promote the enterprise image, and even from the advertising information still can increase additional income for the enterprise.

7、Many businessmen often have to demo PPT for clients in the mobile environment, such as cafe, business center, or office. Unlike sit is in the form of meeting, the speaker using Android tablet, and built-in autoplay function, can hold a small meeting in any occasion. In the room, just put the tablet

8、and display equipment such as monitors, projectors, intelligent TV connection, can be shown to PPT content synchronization through the screen to the audience. Let the audience can be more intuitive and clear understand the PPT content, make PPT presentation better.Key words: PPT, wireless synchroniz

9、ation, Socket communication目 录1 绪论11.1 课题简介11.2 研究背景11.3 Android 平台发展状况21.4 论文的主要工作和论文结构41.4.1 课题主要完成的工作41.4.2 论文结构52 幻灯片无线传输客户端相关技术62.1 Android平台介绍62.1.1 Android简介62.1.2 Android 系统架构62.1.3 Android应用组件类型分析82.1.4 Android应用程序开发工具102.2 Socket网络通信112.2.1 Socket协议概述112.2.2 Socket网络通信的工作原理123 需求分析143.1 系统

10、说明143.1.1 系统名称及说明143.1.2 系统开发背景143.2 系统任务143.2.1 系统设计要求和目标143.2.2 系统设计原则153.3 系统用户需求分析153.3.1 系统用户定义及关系153.4 Android平台技术选型及开发环境163.4.1 Android平台技术选型163.4.2 Android开发环境搭建164 Android系统的幻灯片无线播放系统的设计与实现184.1 手机端的设计与实现184.1.1 手机端界面的设计184.1.2 手机端界面的实现204.2 WLAN下的Android手机与电脑的Socket通信254.2.1 WiFi技术的研究254.2

11、.2 Socket网络通信的设计与实现265 系统测试325.1 测试环境搭建325.2 功能和性能测试32结 论34致 谢35参考文献36附录A:英文原文37附录B:汉语翻译49581 绪论1.1 课题简介 随着移动互联网带宽的增长,即时多媒体应用成为新的应用热点。在各种商务场合,PPT演示成为不可缺少的沟通方式,例如客户见面会、商务会谈或私人会务。通过演示PPT文稿,可让对方更清晰直观了解你要表达的意图,增加商务谈判的成功率。不同于正襟危坐的会议形式的是,讲演者借助装有Android的平板电脑,无论在何种场合都可以召开小型会议。在会议室里,只需将平板与显示器、投影仪、智能电视等显示设备连接

12、,就可通过大屏幕将PPT内容同步播放给观众。让观众可以更直观清晰了解PPT内容,让PPT演示更精彩。本课题主要是致力于基于Android系统的幻灯片无线播放系统研究。1.2 研究背景 随着全球信息化不断发展,Internet及其相关通信技术已经大大突破了时空阻碍,改变着人们日常的生活。特别是电信网、广播电视网和计算机通信网的相互渗透、互相兼容、并逐步整合成为全世界统一的信息通信网络。TCP/IP协议的普遍采用,使得各种以IP为基础的业务都能在不同的网络上实现互通。 人类首次具有统一的为三大网都能接受的通信协议,从技术上为三网融合奠定了最坚实的基础。使得运行在原有三个网络上的设备得以互通互联。随

13、着以智能手机为代表的移动互联网终端的发展,移动终端设备已经跨越了仅仅将通信作为唯一目标的模式,而变成具有更多市场的微型计算机平台。在移动设备的革命中,移动互联网将融入到人们日常生活的方方面面,移动互联网终端将为我们提供多元化的资讯与服务。Google为此于2007年11月推出了一个专为移动设备设计的软件平台Android.Android是一个真正意义上的开放性移动设备综合平台。它包括操作系统、用户界面和应用程序移动互联网终端工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。其强大的企业联盟,以及其极具前瞻性的选择Linux作为操作系统,整合性能优秀的JAVA虚拟机以及业界领先

14、的浏览器,以及新颖的Android Market软件分享方式。因此具有很大的市场开发潜力。1.3 Android 平台发展状况 Android 平台在2010年里发展势头迅猛,迅速占领了智能手机操作系统 30%以上的市场份额。Android平台不再局限于手机操作系统,更向平板电脑其他移动互联网终端发展。标准化和跨平台是Android平台的一大优势。作为源开发平台,任何手机厂商可以自由选择对代码做出修改, 同时修改的结果也迅速返回到Google,保持系统的统一性。其次是Java语言作为Android应用程序的开发语言。Java具有一次编写、到处运行的跨平台属性,也就是说,开发者只要用Java语言

15、编写一遍程序,就能够在所有装有Android操作系统的设备上运行,做到了与硬件的无关性,这大幅度降低了开发者的开发周期和开发经费。 再者,Google为Android提供标准化的API和SDK开发套件,开发厂商可以根据自行的需求开发或收纳已有的Android应用程序,从而打造出富有自身特色的Android平台。这对开发厂商来说,软件技术之类的问题他完全可以不管,并且也能快速整合出适合自己的一套软件平台,然后在硬件设计集中主要精力,也可以在较短的时间内快速推出新的移动互联网产品。 对开发厂商来说, 标准化的Android绝对是一个理想的选择,现在Android应用程序的开发者只需编写一次代码,就

16、可以实现在所有Android平台上的顺利运行。 Android和操作系统进行了紧密的整合,从而可以方便地使用操作系统的功能。这与难于使用操作系统功能的J2ME相比,无疑对开发者有很大的吸引力。 虽然都是使用Java语言进行开发,但是Android使用的Dalvik虚拟机和 J2ME使用的标准的Java虚拟机(JVM)存在以下区别:1. 在移动模拟器方面:Dalvik在Android平台上的模拟器为Qemu,而J2ME 官方的是WTK,同时摩托罗拉、索尼爱立信、诺基亚都有自己的模拟器,同时 Symbian J2ME有更多的扩展类,诺基亚的扩展类兼容性最差。2. 在程序兼容性方面:兼容性算是And

17、roid Dalvik和J2ME相比最大的突破了,在J2ME上开发的程序,在各个公司不同型号设备间的移植就很繁琐,除了硬件差异和屏幕分辨率要考虑外, 还有很多其他的问题。而Android Dalvik背后是Google的开放手机联盟在支持,所以可以完全脱离硬件标准的困扰。3. 在运行效率方面:Android Dalvik会把Java Class编码转变为Dex,Dex是Dalvik VM executes的缩写, 内存和运行效率都经过优化, 而J2ME的为 KJAVA,千字节的Java VM所以在资源上控制的也很好。Dalvik是基于寄存器,而JVM是基于堆栈。Android选择采用寄存器的方

18、式是因为它对提前优化,提供了更好的支持,而这对类似于移动电话这样的受限环境是颇有裨益的。 针对基于寄存器虚拟机和基于堆栈的虚拟机更深入的比较分析指出,基于寄存器的虚拟机对于程序来说,在它们编译时花费的时间更短。4. 安全性方面:安全性一向Java所注重的, 无论是在内存分配还是高层上不会有太多危险的操作,这是在J2ME平台来看。而Dalvik作为Android平台级开发语言,系统权限问题必然会涉及,如用户控制、Linux的盘等,不过Android平台通过一个WPF的模型,AndroidManifestxml文件统一管理应用程序中的各个组成部分,与Symbian有点类似,所以大体上可以放心使用。

19、5. 类库完整性方面:可以说在这一点上 Sun做的比较全面,但是我们看到 Dalvik实际上是对J2ME的补充,并不是做重复性工作,除了界面UI系统有变革比较大以外,其他方面兼容性还是很好的,所以目前版本的Dalvik已经包含了一些重要的特性,如:Base64编码、XMLDOM、MD5处理、影音解码器(部分为可选包)。其实,Android也是将J2ME未竞的事业进一步完成。J2ME提供了统一的编程平台,但是J2ME不能调用操作系统资源,也没有提供相对丰富的应用工具,最终J2ME处在一个非常尴尬的位置上。 而Android从底层的操作系统内核, 到上层的现成的应用软件,加之免费、开源和普及较广的

20、Java开发语言,为开发人员编写软件提供了极大的便利。这一切都表明了Android是J2ME十分有利的竞争对手,并且有望引领未来的移动终端市场。Android具有以下几个特点 无界限的应用程序,Android上的应用程序可以通过标准API访问核心移动设备功能。通过互联网,应用程序可以声明它们的功能可以供其他应用程序使用。应用程序是在平等的条件下创建的,移动设备上的应用程序可以被替换或扩展,即使拨号程序或主屏幕这样的核心组件也可以。 应用程序可以轻松地嵌入网络,应用程序可以轻松地嵌入HTML、JavaScript和样式表。应用程序可以通过Web View显示网络内容。 应用程序可以并行运行,An

21、droid作为种完整的多任务环境,其中应用程序可以并行运行。在后台运行时,应用程序可以生成通知以引起用户的注意。 以Android丰富的功能支持和全面的计算服务,它完全有能力拓展到移动电话以外的市场,比如掌上电脑、平板电脑和上网本,Android同样也可以用于其他的移动终端。由于Google对Android系统强有力的后续支持,2011将会是Android系统井喷之年。Android原本就是Google为扩展其庞大的移动互联网业务应运而生的。现在Google给我们呈现了一个无限大的平台。供我们自由挥洒创造力和想象力,挖掘互联网的无穷潜力。随着3G技术的发展,越来越多的应用开始转向移动平台和移动

22、互联网。智能手机将逐步取代电脑成为我们获取信息的首要平台。当手机平台和云计算结合之后我们的生活将会发生天翻地覆的变化。1.4 论文的主要工作和论文结构1.4.1 课题主要完成的工作 1. 在介绍课题背景及研究意义的基础上,分析智能移动终端的特征和发展趋势,并对Android平台的发展进行了更进一步的分析,说明Android平台是一个很有价值的智能移动终端平台。 2. 对Android平台的系统架构及在其之上开发的应用程序结构进行了深入的分析。内容主要有:Android平台的系统架构;Android平台应用组件类型分析和Android应用程序开发工具。 3. 对Android开发环境进行搭建,分

23、析在进行应用程序设计时需要解决的问题。 4. 完成Android平台幻灯片无线传输客户端软件的需求分析,并对各功能模块进行了划分和实现。 5. 完成对Android平台幻灯片无线传输客户端软件测试平台的搭建,并对软件进行了功能和性能方面的测试。1.4.2 论文结构 第一章:绪论,给出了本文的选题背景和相关技术在国内外研究现状。 第二章:对Android平台的架构、应用组件和开发工具进行了介绍。首先分析了Android操作系统的系统架构, 接着对Android组件进行了分析, 以及对Android开发工具的描述。 第三章:首先介绍了幻灯片无线传输总体项目,然后具体介绍的本课题的网络模型,进而对A

24、ndroid幻灯片无线传输客户端进行了功能和非功能的需求分析,下来对客户端进行了总体设计,并对实现设计进行了技术选型,最后搭建了开发Android应用软件的开发环境。 第四章:在上一章分析的基础上,进一步对各个模块功能进行了分析,并对各模块进行了功能设计与实现。 第五章:完成了测试平台的搭建,对Android平台幻灯片无线传输传输客户端软件功能和性能方面的测试。 第六章:结束语,本章总结了本文的工作,讨论了工作中还有待改进的地方。2 幻灯片无线传输客户端相关技术本章主要介绍了Android幻灯片无线传输客户端所涉及的相关的技术。主要包括Android平台的系统架构、Android应用程序的组件

25、类型、对Android开发工具的介绍以及对Socket通信的介绍。2.1 Android平台介绍 2.1.1 Android简介 Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android包括操作系统、用户界面和应用程序移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google与开放手机联盟合作开放了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和T-Mobile在内的30多家技术和无线应用的领军企业组成。G

26、oogle通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。 Android作为谷歌企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。 出于这个目的,Android将补充而不会替代谷歌长期以来奉行的移动发展战略一通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。2.1.2 Android 系统架构 Android的系统架构和其操作系统一样,采用了分层的架构。如

27、图2.1 Android系统架构所示,Android分为五个部分,分别是:应用程序(Application)、应用程序框架(Application Framework)、程序库(Libraries)、Android运行时库(AndroidRuntime) 、linux核心(Linux Kernel)。应用程序:Android将包含一套核心应用程序,其中包括E-Mai l客户端,短信程序,日历,地图,浏览器,通讯录等等。所有的应用程序都是由Java语言完成的。应用程序框架:开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功

28、能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。程序库:Android包含套C/C+开发库,主要包括:Libc、Media、Framework、WebKit、SGL、OpenGL ES、FreeType、SQLite等。它们被用于Android系统的各种组件中。这些功能通过Android应用框架展现给开发人员。Android运行时库:Android运行时库包含一组核心库(提供了Java语言核心库内的大部分功能)和Dalvik虚拟机。同时 Android 提供了丰富的库类支持且大部分为开源代码,如2D和3

29、D图像库OpenGL ES、数据库SQLite。Linux核心:Android基于Linux 2.6内核来提供系统的核心服务,如安全机制,内存管理,进程管理网络堆栈和驱动模型,如图2.1所示。内核还作为硬件和其余的软件应用之间的一个抽象层。图2.1 Android系统架构图从总体架构中看,Android相比其他平台显示出了自身的特点,比如WebKit 浏览器、Dalvik虚拟机等模块。这些模块的应用也成了Android的焦点,开发者可以充分利用Android提供的这些模块的接口。开发出更具有特色的应用程序。2.1.3 Android应用组件类型分析 Android应用组件对象主要由四个部分构成

30、:Activity、Intent、Service、ContentProvider。如图2.2所示的是Android应用组件类型。1、AndroidManifest.xml文件是整个应用程序的配置文件,所有下面的组件都必须在AndroidManifest.xml中声明。AndroidManifest.xml负责把Activity、Intent、Service、Content Provider有机的组合起来,形成一个整体的应用程序。图2.2 Android应用组件类型图2. Activity:基本模块,通常代表一个单独的屏幕,主要用于处理应用程序的整体性工作,如监听系统事件、为用户显示指定的Vie

31、w、启动其他Activity等。在Android软件环境中,应用程序由一系列的Acitivity组成,Activity不但能提供给应用程序本身,也可以提供给系统内任何一个外部应用,开发者可以通过Activity组成形成应用程序。图2.3 Activity栈流程图Activity类的应用程序有其默认的运行方式,它有自己的生命周期,即它的产生、运行、销毁的一个过程。如图2.3所示的是Activity栈流程,在系统中的 Activity被一个Activity栈所管理。当一个新的屏幕打开后,前一个屏幕将会暂停,并保存在历史堆栈中。用户可以返回到历史堆栈中的前一个屏幕。当屏幕不再使用时,还可以从历史堆栈

32、中删除。默认情况下,Android将会保留从主屏幕到每一个应用的运行屏幕。3. Intent:执行某操作的一个抽象描述,用于协调应用程序内部和应用程序间的交互与通讯。Intent的结构包括动作和动作所对应的数据。动作表示一般的操作行为,典型动作的值有MAIN(活动的入口),VIEW、PICK、EDIT和其他一些。动作所对应的数据URI表示。Intent常用来实现Activity的切换,并传递相关信息。Intent的解析机制主要是通过查找已注册在AndroidManifest.xml中的所有IntentFilter及其中定义的Intent,最终找到匹配的Intent。4. Service:一个无

33、固定期限在后台运行的应用组件,它没有 UI,也不与用户进行交互。在activity中我们可以用Context.startService()来启动一个service。同时,系统也将保持这个service一直执行,直到这个service运行结束。另外,我们还可以通过使用Context.bindService()的方法,连接到另一个service上(如果这个service还没有运行将启动它)。当连接到另一个service之后,我们还可以为service提供的接口与它进行通讯。5. Content Provider:在 Android中,Content Provider是一个特殊的存储数据的类型,它提

34、供了一套标准的接口来获取和储存数据,以方便其他的应用保存和读取此内容提供器处理的各种数据类型。当某个应用程序希望与其它的应用共享其数据时,Android提供的Content Provider就可以发挥作用了。在实现Content Provider的抽象接口以后,程序可以将自己的数据暴露出去,其他程序只要有权限,就可以通过这一套标准而统一的接口,读取或是删除该程序的数据。2.1.4 Android应用程序开发工具Android平台上的应用程序都是由Java开发的。Android一般选用Eclipse作为应用程序开发环境。并为Eclipse编写了专门的ADT插件,此外还有一个专门用于Android

35、开发的Android SDK,Android SDK指的是Android专属的软件开发工具包。调试工具:Android SDK 自带一个移动设备模拟器,它可以让开发者不需使用物理设备就可以预览、开发和测试Android应用程序。Android模拟器能够模拟除了接听和拨打电话外的所有移动设备上的典型功能和行为。如图2.4所示,Android模拟器提供了大量的导航和控制键, 开发者可以通过鼠标或键盘点击这些按键来为你的应用程序产生事件。同时它还有一个屏幕用于显示Android自带应用程序和开发的应用程序。图2.4 Android移动设备模拟器图2.2 Socket网络通信2.2.1 Socket协

36、议概述Socket的英文原义是“孔”或“插座”。在这里作为4BDS UNIX的进程通信机制,取后一种意思。Socket非常类似于电话插座。以一个国家级电话网为例。电话的通话双方相当于相互通信的两个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于Socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个Socket;同时要知道对方的号码,相当于对方有一个固定的Socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还要拨对方区号,相当于给出网络地址)。对方假如在场并空闲(相当于通信的另一主机开机且可以接受连接请求)

37、,拿起电话话筒,双方就可以正式通话,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于向Socket发送数据和从Socket接收数据。通话结束后,一方挂起电话机相当于关闭Socket,撤消连接。在电话系统中,一般用户只能感受到本地电话机和对方电话号码的存在,建立通话的过程,话音传输的过程以及整个电话系统的技术细节对他都是透明的,这也与Socket机制非常相似。Socket利用网间网通信设施实现进程通信,但它对通信设施的细节毫不关心,只要通信设施能提供足够的通信能力,它就满足了。至此,我们对Socket进行了直观的描述。抽象出来,Socket实质上提供了进

38、程通信的端点。进程通信之前,双方首先必须各自创建一个端点,否则是没有办法建立联系并相互通信的。正如打电话之前,双方必须各自拥有一台电话机一样。在网间网内部,每一个Socket用一个半相关描述:(协议,本地地址,本地端口),一个完整的Socket有一个本地唯一的Socket号,由操作系统分配。最重要的是,Socket是面向客户/服务器模型而设计的,针对客户和服务器程序提供不同的Socket系统调用。客户随机申请一个Socket(相当于一个想打电话的人可以在任何一台入网电话上拨号呼叫),系统为之分配一个Socket号;服务器拥有全局公认的 Socket ,任何客户都可以向它发出连接请求和信息请求(

39、相当于一个被呼叫的电话拥有一个呼叫方知道的电话号码)。http:/202.120.127.201时,将通过80端口来呼叫主机上由Web服务软件提供的Socket,与其建 立连接并对话。在Internet上有很多这样的主机,这些主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。客户软件将插头插到不同编号的插座,就可以得到不同的服务。2.2.2 S

40、ocket网络通信的工作原理服务器端的步骤如下。1、首先,在实用Socket之前,要首先初始化Socket,就是使用AfxSocketInit()函数;2、在初始化完成以后,就可以建立服务端的Socket,然后使用该Socket开始侦听整个网络中的连接请求;3、当检测到来自客户端的连接请求时,向客户端发送收到连接请求的信息,并建立与客户端之间的连接。连接的过程中,在MFC的框架中会触发一个前面创建的服务端Socket的消息响应函数OnAccept(),我们将建立的连接的代码放到该响应函数里面,在建立连接的过程中,会产生一个新的Socket,我们使用找个Socket来进行数据的通信;4、在通信的

41、过程中,服务器端的产生的新的Socket会通过一个消息响应函数OnReceive()来接受到达的数据。数据的发送可以使用Send()来完成;5、当完成通信后,服务器关闭与客户端的Socket连接。客户端的步骤如下。1、同样的,初始化Socket,并建立客户端的Socket,确定要连接的服务器的主机名和端口。2、发送连接请求到服务器,并等待服务器的回馈信息。3、连接成功后,与服务器进行数据的交互。4、数据的读取同服务端一样,也是通过OnReceive()来完成的,数据的发送通过Send()即可。5、数据处理完毕后,关闭自身的Socket连接。Socket网络通信的流程图2.5所示:图2.5 So

42、cket通信流程3 需求分析3.1 系统说明3.1.1 系统名称及说明本研究开发的系统名为基于Android系统的幻灯片无线播放系统研究,系统需在下Android平台下开发,采用无线通信技术,具有Android截图实现功能和Android客户端与PC服务端实时通信的功能。3.1.2 系统开发背景在各种商务场合,PPT演示成为不可缺少的沟通方式,例如客户见面会、商务会谈或私人会务。通过演示PPT文稿,可让对方更清晰直观了解你要表达的意图,增加商务谈判的成功率。在WIFI局域网下,手机可以和电脑通过Socket通信。手机做服务端,电脑做客户端;而本系统通过一台平板电脑即可实现幻灯片的无线播放功能,

43、并且不需要复杂的布线和连接,使用简单、维护方便。3.2 系统任务3.2.1 系统设计要求和目标开发一套基于Android系统的幻灯片无线播放系统,要求在Android平台下给出详细的设计方案,具有完备的截图功能、客户端与服务端实现Socket网络通信功能,通信方式为Wi-Fi。系统设计要达到如下目标。1、功能完善,系统要具有完备的截图功能、客户端与服务端实现Socket网络通信功能,各功能的子功能需要完全实现。2、通用性强,通用性包括两方面,一是程序通用性,便于其他模块调用和系统改进升级,当系统数据量大时可以方便地扩展到多台服务器,二是业务通用性,系统支持的业务以及窗口类型可以由后台配置,以便

44、于业务添加、变更,系统可以支持不同行业的业务。3、灵活性强,系统可以灵活配置,以适应不同的业务场景。4、安全性强,系统数据集中管理,只能由服务器程序修改。3.2.2 系统设计原则为了构建一个功能完备、高性能的Android系统的幻灯片无线播放系统,需要遵循如下设计原则。1、充分考虑系统性能,减少数据冗余,充分考虑各实体的构成和各字段的属性,力求最优设计。2、完整性原则,系统设计保证数据的完整性、准确性,系统功能完备,支持所有功能服务项目,同时便于配置管理、升级。3、简单性原则,系统程序要求在保证完整性原则的情况下从简设计,系统必须易于使用,学习成本低。4、在风格方面,应该尽量做到程序结构简单明

45、了,思路条理清晰,功能实用,使系统整体风格趋于统一。 5、在界面上,应该在设计、构思力求巧妙,布局要求合理、简单、明了,达到界面友好的效果。 6、可扩展性,系统要具备良好的可扩展性,有助于系统的维护和升级。整个系统采用松耦合的架构进行设计,降低需求变更后程序修改的代码量。3.3 系统用户需求分析3.3.1 系统用户定义及关系操作方和系统管理方广义上都是为客户方工作的的,下面分别给出三个模块的定义。客户方:指观看幻灯片播放的观众,系统操作方和系统管理方的对象,客户会观看到由PC服务端所连接到的大屏幕上所显示的幻灯片内容。操作方:操作Android终端平台,为客户操作幻灯片,会用到系统的登录模块、

46、截图模块。系统管理方:系统管理方负责系统的Socket网络通信,实时的将Android终端平台所显示的幻灯片内容传输到PC端。3.4 Android平台技术选型及开发环境3.4.1 Android平台技术选型这款软件既然是基于Android平台,所以肯定要Andriod开发平台上强大的技术支持。由于Android主线程发生阻塞后等待5秒后就会显示强制关闭的对话框,所以在发送和接受所截取的幻灯片图片时,考虑用多线程技术。线程之间有着十分便利的数据共享模式。在不同的进程间,进程的存储空间是相互独立的,要传递参数只能通过通信的方法来进行,这样做不仅浪费了大量的时间,而且便利性不够。但是对于线程来说,

47、在同一进程之下的各个线程数据是共享的,所以其他线程可以直接用另一个线程的数据,这样既省时又方便。当然,这样的数据共享也会带来一些麻烦,比如有时变量代表临界资源,两个线程不能同时修改这个变量,这个也正是编写多线程程序时最需要注意的地方。3.4.2 Android开发环境搭建Android通常选用Eclipse作为应用程序开发环境,并为Eclipse编写了专门的ADT插件,此外还有一个专门用于Android开发的AndroidSDK开发包。下面来让我们一步一步搭建起这个开发环境。 1安装JDK:安装Eclipse的开发环境需要JRE的支持。先在Oracle的官方网站上下载Windows版本的JDK6,在安装进行完后,需要设置JDK的环境变量。2配置Eclipse:Eclipse的下载地址为:http:/www.eclipse.org/downloads,选择“Eclipse IDE for Java Development”下载 Eclipse3.4。Eclipse只需要解压就可以使用。3配置Android SDK:安装好JDK和Eclipse后,打开Android开发者,对应的网址是: SDK的最新版本为2.2。下载完成以后,一样不需要安装,解压之后就可以直接使用了。为了在控制台中直接使用SDK中的工具,把SDK下的tools目录添加到Windows的PAT

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁