手机遥控计算机(MPCPC)系统的开发与实现-毕业论文_第1页
手机遥控计算机(MPCPC)系统的开发与实现-毕业论文_第2页
手机遥控计算机(MPCPC)系统的开发与实现-毕业论文_第3页
手机遥控计算机(MPCPC)系统的开发与实现-毕业论文_第4页
免费预览已结束,剩余16页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)( 20XX届 )论文题目 手机遥控计算机(MPCPC)系统的开发与实现 THE DEVELOPMENT AND IMPLEMENTATION OF MOBILE-PHONE-CONTROL-PERSONAL-COMPUTER (MPCPC) SYSTEM 学 生 姓 名: 学 号: 二级学院名称: 新媒体学院 专 业: 数字媒体技术 指 导 教 师: 职 称: .浙江传媒学院本科毕业论文 手机遥控计算机(MPCPC)系统的开发与实现手机遥控计算机(MPCPC)系统的开发与实现摘要: 手机遥控计算机(Mobile Phone Control Personal Computer)系统是一款手机利用蓝牙作为媒介来与计算机进行通信,进而实现手机远程遥控计算机这一目的的软件系统。主要研究的内容是蓝牙通信编程。软件分为计算机端和手机端两个部分,计算机端用JavaSE作为开发语言,手机端用J2me作为开发语言,通过JSR82标准里的核心蓝牙包javax.bluetooth实现无线通信功能。实现的功能有手机模拟计算机鼠标、键盘功能,手机控制计算机常用软件以及控制计算机关机、重启等。该软件系统可改变用户控制计算机的方式,使计算机控制更加多样化,用户使用更方便、更舒适。关键词:手机;计算机;蓝牙通信;JavaSE;J2me;JSR82THE DEVELOPMENT AND IMPLEMENTATION OF MOBILE-PHONE-CONTROL-PERSONAL-COMPUTER(MPCPC) SYSTEMAbstract: Mobile Phone Control Personal Computer is a software system that uses bluetooth to establish connection between mobile phone and personal computer.So the mobile phone can remote control the computer. The main research content is bluetooth communication program.There are two parts of the software:the mobile phone software and the computer software.The computer software was developed by JavaSE language and the mobile phone software was developed by J2me language.It can realize the wireless communication function by the main package javax.bluetooth in JSR82.The accomplished functions include mobile phone simulating computer mouse, keyboard and mobile phone controlling the softwares that usually used by computer,and also include the shutdown and restart function.This software can change the way that controls computer and makes it diversified,convenient and comfortable.Key words: mobile phone; personal computer; Bluetooth Communication;JavaSE; J2me; JSR82目 录1 绪论12项目概述22.1 选题背景与意义22.2 研究的基本内容22.3 需解决的问题32.4发展趋势33 技术背景43.1 编程语言43.1.1 Java语言43.1.2 Java SE43.1.3 Java ME43.2蓝牙技术53.2.1 蓝牙技术概述53.2.2 Java蓝牙开发接口53.3开发平台63.3.1 Eclipse63.3.2 Netbeans64 系统功能分析及实现74.1 系统功能分析74.2 系统功能实现74.2.1 蓝牙功能模块74.2.2 鼠标控制模块84.2.3 键盘控制模块94.2.4 应用程序模块104.2.5 常用功能模块115 系统运行结果分析126 结 论13致谢15参考文献16浙江传媒学院本科毕业论文 手机遥控计算机(MPCPC)系统的开发与实现1 绪论随着计算机网络和移动电话技术的迅猛发展,手机已经走入了千家万户,在人们的生活中占有一席之地,其通信方式也越来越丰富,人们对手机的理解也不再只是传统上的随处可打的电话。手机的硬件配置越来越高,与之对应的增值服务也越来越多元化。同时人们越来越感觉到发展一定范围内的无线数据与语音通信的迫切需要。早在1994 年,爱立信公司便已着手构想以无线电波来连接计算机与电话等各种周边设置,决定建立一套短距离无线通信的开放标准,并以中世纪丹麦国王Harold 的外号“蓝牙”(Bluetooth)为其命名,意在统一无线局域网通信标准的技术1。于是在1998年,爱立信、IBM、Intel、诺基亚和东芝等公司联合推出了一项最新的无线网络技术,即蓝牙(Bluetooth)技术2 。随后这五家公司组建了一个特殊兴趣组织来负责开发此技术以及协议。1999 年下半年,著名的业界巨头3Com、朗讯(Lucent),微软(Microsoft)和摩托罗拉(Motorola)与蓝牙特别小组的五家公司共同发起成立了蓝牙技术推广组织,创建蓝牙论坛、加强蓝牙协议的订制和改进、提供互操作性测试工具,进而指导SIG 成员在蓝牙领域的研究工作。蓝牙技术是一种低成本、短距离的无线通信技术3。蓝牙技术并非一项新的技术,但利用J2ME在MIDP平台上开发蓝牙应用程序却是一项新技术。这项新技术已经得到了移动设备制造商和服务运营商的大力支持。并且随着3G网络试运行,数据通信费用大大降低,各种针对移动技术的应用需求会越来越大。目前,几乎所有的手机厂商都在生产的手机系统里加入JAVA虚拟机,来支持J2ME程序,只是支持的程度不尽相同。客观上SUN公司推出J2ME语言降低了嵌入式程序设计的门槛,这样使得J2ME成为现在最流行的手机编程语言之一。就目前情况看,使用电脑控制手机的软件较多,而使用手机控制电脑的软件较少。此外,使用电脑在绝大多数情况必须坐在电脑面前,这种局限有时会给使用电脑带来不便。这些迹象表明,手机与计算机进行蓝牙通信互动这一课题是很有研究前景的。我的毕业设计题目为手机遥控计算机系统(MPCPC)的开发与实现,主要是要实现手机通过蓝牙来对计算机进行控制,如手机模拟计算机鼠标、键盘,手机控制计算机常用的应用软件,以及手机控制计算机的关机、重启等功能。本文一共分为五个部分,第一部分为绪论;第二部分为项目概述,概括的介绍了本毕业设计的选题背景、意义等;第三部分为技术背景,介绍了本毕业设计所要用到的技术以及应用平台;第四部分为系统功能分析及实现,介绍了本软件系统要实现的功能及如何实现的;第五部分为系统运行结果分析,介绍了软件最终实现的效果。 2项目概述2.1 选题背景与意义随着网络和无线通信技术的发展,以及手机等无线移动设备处理能力的不断增强,手机已经不再是一个单一的通信设备,它融合了上网、个人信息处理、移动办公、娱乐游戏等功能。各种无线移动通信终端正朝着多功能、智能化的方向发展。目前,几乎所有的手机厂商都在生产的手机系统里加入JAVA虚拟机,来支持J2ME程序,只是支持的程度不尽相同3。客观上SUN公司推出J2ME语言降低了嵌入式程序设计的门槛,这样使得J2ME成为现在最流行的手机编程语言之一。目前使用手机来控制电脑的应用软件相对较少。此外,使用电脑在绝大多数情况必须坐在电脑面前,这种局限有时会给使用电脑带来不便。手机遥控计算机(MPCPC)系统就是这样的一种软件,它用手机通过蓝牙遥控电脑,可以实现对电脑进行远程遥控操作,不必在拘泥于电脑桌前。本软件系统将手机与电脑用蓝牙连接的功能从只有传输文件扩展到更多的方面,更新了手机功能,创新了蓝牙应用,革新了电脑控制观念。此软件系统第一适合休闲,方便用户在使用时无线远程控制,不增加更多的遥控设置,也不用将电脑放在面前,远离辐射,如用电视般舒适地用电脑。第二适合教学,只要老师有手机在加一个蓝牙适配器,就可以在讲课时走到台下与学生互动,拉近师生间的距离,提高课堂效率。第三适合手机商,他们可将此应用绑定于手机,可以作为其一个卖点。手机和计算机的融合已是一种趋势,实现手机和计算机的融合对于娱乐互动和新媒体的推广也有一定的促进作用,让人们更好的享受移动新媒体所带来的娱乐功能45。2.2 研究的基本内容本毕业设计着重研究与解决手机和计算机之间通过蓝牙建立无线通信连接的问题,这也是本毕业设计的重点和难点。当实现手机和计算机之间的蓝牙通信连接后,将要设计实现手机模拟计算机鼠标、键盘的功能,如用手机的上下左右键实现鼠标的移动,手机的数字键模拟鼠标的单击双击及模拟键盘的常用按键。此外,本设计在此基础之上还要实现用手机控制电脑的部分常用软件,包括酷狗、暴风影音、IE浏览器、ppt等,实现的功能有用手机控制播放器的音量、播放/暂停、快进快退、视频音频移动、网页的新建与关闭、ppt的播放、换页与停止等,最后还会加上手机控制计算机关机、重启等功能。具体内容如下:1.深入学习蓝牙通信技术,熟练掌握蓝牙通信编程的规则、适用协议等;2.学习并掌握基于java技术的计算机常用功能的API,并开发出计算机端软件;3.学习并实践基于j2me技术的手机端应用软件的开发;4.在手机上添加常用的计算机控制功能。2.3 需解决的问题发展蓝牙技术的初衷是为了用一种统一的无线通信技术,来取代各种数字化设备之间的相互连接的电缆。当人们能够实现用无线技术取代电缆后,就发现这是一个革命性的变化67。目前蓝牙技术已经越来越成熟,手机和计算机的软硬件发展也越来越迅速,所以手机和计算机之间通过无线连接进行互动就越来越显得有必要,可问题是目前市场上还没有专门的软件,或者软件功能有限,不能实现用户想要的功能。因此,开发一款简单易用的手机遥控计算机的软件系统就显得十分有价值。而开发出这样一款软件就需要解决如下具体问题:1.解决手机和计算机之间通过蓝牙进行无线通信连接的问题;2.解决计算机端常用功能API正确调用的问题;3.解决手机按键模拟计算机鼠标功能的问题;4.解决手机按键模拟计算机键盘常用按键功能的问题;5.解决手机控制计算机常用软件及控制常用功能的问题。2.4发展趋势蓝牙技术是很有发展前景的一项技术,它的成本底,可移动性强,产品小且多是电池供电,对人体危害小,可谓“绿色产品”。市场研究公司IC Insights 预测称,2010 年全球蓝牙模块出货量将增长到16 亿个。在2006年至2010年期间,蓝牙模块出货量将平均每年增长33%。2010年蓝牙模块的销售收入将从2006年的14.7亿美元增长到32亿美元以上。蓝牙技术在2000年勉强在市场上露面。到2006年,蓝牙模块的出货量达到了5.15 亿个8。预计到2009,出货量将达到10亿件。通过蓝牙产品,蓝牙的应用也随之不断拓展,从手机、笔记本、耳机等这样的手持终端扩展到各行各业,如汽车、医疗、工业控制、办公应用、电子商务等等,所涉及的技术、功能、市场等要求越来越高,产业链也日益复杂,有望成为电子消费类产品的一个新的增长点,因而也日益为人们所关注和重视910。所以说,蓝牙技术拥有非常好的前景是毋庸置疑的,而且在中国的发展前景会更加吸引人。虽然在发展的过程中会有一些难题出现,但蓝牙技术作为一项新技术,其前进的势头是不会改变的。我们应该抓住机遇,推广普及蓝牙技术的应用,加速实现信息化,加速实现现代化。勿庸置疑,“蓝牙”技术将对我们的生活带来巨大的变化,它在无形中延伸我们的双手,让我们能够触碰到更广阔的空间。今后,无线上网会越来越流行,人们的手机、掌上电脑等都会频繁的连接无线网络。最初,人们如果想上网,需要把电脑同有线电话连接进行上网,后来可以连接移动电话进行无线上网。现在正实现以移动电话为中心,各种设备连接成无线网络而实现无线上网技术11。蓝牙技术在不断地完善,给组建无线办公场所、家电无线组网、工业无线控制、设备安全提供了技术支持12。蓝牙在短距离的无线通信中显示了优越性,其应用范围也在不断扩展,相信以蓝牙技术为支撑的手机遥控计算机技术一定会有一个美好的明天!3 技术背景3.1 编程语言3.1.1 Java语言 Java是一种面向对象的程序设计语言,可以用来撰写跨平台的应用软件,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显着优势和广阔前景13。Java编程语言的风格与C、C+语言十分相似。Java是一个纯面向对象的程序设计语言,它继承了C+语言面向对象技术的核心,在C+语言中,指针、运算符重载、多重继承等容易引起错误,而java语言舍弃了这些内容,但增加了垃圾回收器功能,使不再被引用的对象所占据的内存空间能够被回收,这样程序员就不用再为内存管理而担忧。在Java SE 1.5 版本中,Java又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java与一般的编译执行计算机语言和解释执行计算机语言是有一定差别的。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java程序的运行效率。但在 J2SE 1.4.2 发布后,Java的执行速度有了大幅提升13。3.1.2 Java SE Java SE是Java平台标准版的简称(Java Platform, Standard Edition),用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序。Java SE包括用于开发Java Web服务的类库,同时,Java SE为Java EE提供了基础。Java SE(Java Platform, Standard Edition,Java标准版)就是基于JDK和JRE的13。3.1.3 Java ME Java ME以往称作J2ME(Java Platform,Micro Edition),是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API。它和Java SE、Java EE一起构成Java技术的三大版本,并且同样是通过JCP(Java Community Process)制订的。Java ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。JAVA ME技术在1999年的JavaOne Developer Conference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。开发Java ME程序一般不需要特别的开发工具, 开发者只需要装上Java SDK及下载免费的Sun Java Wireless Toolkit 2.xx系列开发包,就可以开始编写Java ME程序,编译及测试, 此外目前主要的IDE(Eclipse及NetBeans)都支持Java ME的开发,个别的手机开发商如Nokia 、Sony Ericsson、摩托罗拉、Android系统都有自己的SDK,供开发者再开发出兼容于他们的平台的程序14。3.2蓝牙技术3.2.1 蓝牙技术概述蓝牙技术(Bluetooth)是一种使用无线电波的、短距离的通信技术,它的开发使有线传输的无线化成为了可能。它的传输速度为1Mbps,传输距离一般为10米左右,有的甚至能达到20至30米。使用“蓝牙”技术,能够使平板电脑、笔记本电脑以及移动电话等设备之间的通信变得十分方便,同时也能够使这些设备与internet之间的通信变得简洁,从而使这些通信设备与因特网之间的数据传输变得更加迅速高效,并为无线通信拓宽道路。因此,蓝牙技术使得现在一些我们常用的通信设备在不必通过有线传输介质的情况下就能联网,而且还能够实现无线上因特网,不仅如此,蓝牙的应用还可以拓宽到其他应用领域,如家电产品、电子产品、汽车等,从而可以组成一个巨大的无线网络。蓝牙系统由以下功能单元组成:无线基带单元、链路控制单元、链路管理单元、相关软件。蓝牙工作在全球通用的2.4GHZ (即工业、科学、医学)频段,其数据传输速率为1Mb/s,该技术采用时分双工传输方案来实现全双工传输15。3.2.2 Java蓝牙开发接口JSR82规范是专门针对蓝牙开发设计的应用程序编程接口,其中包含如下两个包: Javax.bluetooth:核心API Javax.obex:对象交换API Javax.bluetooth包中的类和接口如下表所示: 功能 DiscoveryListener接口 定义了设备发现通知和服务发现通知的回调函数 L2CAPConnection接口 定义了L2CAP连接客户端功能 L2CAPConnectionNotifier接口 定义了L2CAP连接服务器功能 ServiceRecord接口 定义了服务记录,包含了服务信息 DataElement类 定义了服务属性可能用到的数据类型 DeviceClass类 表示蓝牙规范中定义的设备类 DiscoveryAgent类 服务代理类,同时支持设备与服务的发现 LocalDevice类 定义了本地蓝牙设备 RemoteDevice类 定义了远端蓝牙设备 UUID类 在蓝牙中,每个服务和服务属性都有一个全球唯一的标识(UUID) BluetoothConnectionException异常 当蓝牙连接不能被成功创建时,会触发该异常 BluetoothStateException异常 当蓝牙系统接收到当前状态想不能处理的请求时,会触发该异常 ServiceRegistrationException异常 当向本地服务发现数据库中添加服务记录失败时,触发该异常 3.3开发平台3.3.1 EclipseEclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,目前亦有人通过插件使其作为C+、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。 2007年6月,稳定版3.3发布;2008年6月发布代号为Ganymede的3.4版;2009年6月发布代号为Galileo的3.5版;2010年6月发布代号为Helios的3.6版18。3.3.2 NetbeansNetBeans由Sun公司(2009年被甲骨文收购)在2000年创立,它是开放源运动以及开发人员和客户社区的家园,旨在构建世界级的Java IDE。NetBeans IDE是一个屡获殊荣的集成开发环境,可以方便的在Windows,Mac,Linux和Solaris中运行。NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeans IDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C /C + +等开发语言18。 NetBeans项目由一个活跃的开发社区提供支持, NetBean开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件。 4 系统功能分析及实现4.1 系统功能分析MPCPC系统在实现手机与计算机的无线连接后,主要实现以下功能:鼠标控制:用手机上的按键来控制计算机鼠标的各种动作,如鼠标上移、下移、左移和右移,鼠标的左击和右击,鼠标滚轮滑动等一系列动作。键盘控制:用手机按键来模拟键盘的上下左右、空格、回车、Tab、退格等按键。应用程序:应用程序包括电脑常用的应用程序,如酷狗、暴风影音、IE浏览器、PPT等,通过手机来控制音乐、视频的播放暂停,调节音量大小,浏览器页面的新建与关闭,幻灯片的播放、移动、结束播放等功能。常用功能:常用功能包括手机一键控制计算机的重启、关机等功能。204.2 系统功能实现根据系统的功能,将MPCPC系统分为以下五个模块进行开发:即蓝牙功能模块,鼠标控制模块,键盘控制模块,应用程序模块和常用功能模块。4.2.1 蓝牙功能模块该模块主要负责实现手机与计算机间蓝牙通信连接的建立。首先计算机端要先进行蓝牙服务的注册和发布,然后创建一个服务连接并等待手机端的连接请求;手机端要对周围蓝牙设备进行搜索,然后对搜索到的服务设备发出连接请求19。计算机端主要代码:final UUID uuid = new UUID(27012f0c68af4fbf8dbe6bbaf7aa432a, false); final String name = MPCPC Server; /服务器名称 final String url = btspp:/localhost: + uuid + ;name= + name + ;authenticate=false;encrypt=false; /服务连接URL在蓝牙中,每个服务和服务属性都唯一地由全球唯一标识符 (UUID)来校验。正如它的名字所暗示的,每一个这样的标识符都要在时空上保证唯一。UUID实例是不可改变的,只有被UUID标示的服务可以被发现20。local = LocalDevice.getLocalDevice();/取得本地蓝牙设备local.setDiscoverable(DiscoveryAgent.GIAC);/服务器设置被发现的模式为 GIAC当通过调用LocalDevice.setDiscoverable() 方法来设置设备为可被发现的模式时,必须指定查询访问码(IAC)。JABWT支持两种访问模式: DiscoveryAgent.LIAC 指定有限查询访问码。设备将在唯一的有限时间周期(典型为1分钟)里可被发现。经过有限的周期后,设备会自动地返回到无法发现的模式。DiscoveryAgent.GIAC 指定通用查询访问码。没有限制地被设置为可被发现模式在设备中长期驻存。server = (StreamConnectionNotifier) Connector.open(url);/ 创建一个服务连接conn = server.acceptAndOpen();/接受一个新的客户端连接手机端主要代码:local = LocalDevice.getLocalDevice();/取得本地蓝牙设备agent = local.getDiscoveryAgent();/取得本地蓝牙设备发现代理agent.startInquiry(DiscoveryAgent.GIAC, this); /启动发现附近设备设备发现以调用startInquiry()函数开始。在请求进行时,蓝牙发现代理会在适当的时候调用回调方法DeviceDiscovered()和inquiryCompleted()。UUID uuids = new UUID1;uuids0 = new UUID(27012f0c68af4fbf8dbe6bbaf7aa432a, false);agent.searchServices(null, uuids, device, this);/启动服务发现搜索服务发现开始于对searchServices()的调用。当服务搜索进行时,蓝牙发现代理会在适当的时候回调servicesDiscovered()和 serviceSearchCompleted()方法。conn = (StreamConnection) Connector.open(url); /建立连接204.2.2 鼠标控制模块该模块主要负责模拟手机的鼠标控制功能,手机上2,8,4,6键代表上下左右,1代表左键单击,3代表右键单击,*键代表滚轮上滚, #键代表滚轮下滚, 0代表中键。下面以鼠标左键单击为例具体介绍一下其功能是如何实现的:手机端首先获取手机按键的keycode,然后在一个switch语句里进行判断case 49: /数字键1的keycode是49 remote.bluetooth.SendData(MLCLICK); /手机1键按下; break; case 49: remote.bluetooth.SendData(SMLCLICK); /手机1键释放; break;当keycode为49时,调用sendData函数向计算机端发送相应消息;计算机端根据接收到的相应消息进行处理:if (cmd.equalsIgnoreCase(MLCLICK) mouse.mClick(MouseControl.LCLICK); if (cmd.equalsIgnoreCase(SMLCLICK) mouse.mRelease(MouseControl.LCLICK); public void mClick(int button) robot.mousePress(button);public void mRelease(int button) robot.mouseRelease(button);204.2.3 键盘控制模块该模块主要负责模拟手机的键盘控制功能,2,8,4,6键代表光标上下左右移动,1代表回车, 3代表空格,7代表tab, 9代表退格。下面以键盘“上”键为例具体介绍一下其功能是如何实现的:手机端首先获取手机按键的keycode,然后在一个switch语句里进行判断case 50: /手机上2键的keycode是50 remote.bluetooth.SendData(K38); /手机2键按下 break;case 50: remote.bluetooth.SendData(SK38); /手机2键释放 break;当keycode为50时,调用sendData函数向计算机端发送相应消息;计算机端根据接收到的相应消息进行处理:if (cmd.startsWith(K) tring scode = cmd.substring(1); keyboard.keyPress(Integer.parseInt(scode);if (cmd.startsWith(SK) String scode = cmd.substring(2); keyboard.keyRelease(Integer.parseInt(scode);public void keyPress(int keyCode)robot.keyPress(keyCode);public void keyRelease(int keyCode)robot.keyRelease(keyCode);204.2.4 应用程序模块该模块主要负责用手机控制部分常用的应用程序,包括酷狗、火狐浏览器、Windows Media Player、IE浏览器、暴风影音、PPT幻灯片,选择程序的相应功能按中键即可实现控制,被控制的应用程序要保证在前台运行,否则不能实现控制功能。对于以上列出的应用程序,在计算机端把这些应用程序和它们的常用功能的名称及其快捷键所对应的keycode存储在一个哈希表中,如“暴风影音”: 手机端打开后发送一条消息:remote.bluetooth.SendData(applist);计算机端接收后向手机端发送哈希表中的数据信息:if (cmd.equalsIgnoreCase(applist) try util.SendAppList.startSending(this); catch(Exception e) gui.InfoLabel.setText(Exception Occured + e.toString(); 手机端通过接收计算机端的数据构建一个对应的哈希表,显示这些应用程序的名称,当单击某个应用程序后,如“暴风影音”,列出其功能列表,选择某个功能按手机中键后,发送相应快捷键的keycode,计算机接收到信息后做相应处理。手机端:Stringkeys=(String)(mandsTable.getCommandsTable()app.g et(this.getString(this.getSelectedIndex(); for (int x = 0; x keys.length; x+) remote.bluetooth.SendData(K + keysx); for (int x = 0; x keys.length; x+) remote.bluetooth.SendData(SK + keysx); 此处计算机端处理程序与键盘控制模块处理程序类似。204.2.5 常用功能模块目前的常用功能主要包括手机一键控制计算机的关机、重启功能。手机端软件在“实用工具”页面下会有“关机”和“重启”两个选项,单击任一选项会使计算机实现相应功能,即关机或重启。具体实现如下:手机端:public void commandListRunSelected() try bluetooth.SendData(run shutdown); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace(); public void commandListSendMessageSelected() try bluetooth.SendData(re start); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace(); 计算机端:if (cmd.startsWith(run) try Runtime.getRuntime().exec(shutdown -s); catch (Exception e) if (cmd.startsWith(re) try Runtime.getRuntime().exec(shutdown -r); catch (Exception e) 5 系统运行结果分析 图1 启动画面,软件初试启动时的界面 图2选择应用模式,按选项进入相应功能首先打开计算机端的软件,然后打开手机端软件,计算机端显示“等待连接”,手机端在搜索完蓝牙设备后显示搜索到的蓝牙设备名称(如图1);连接后进入“选择应用模式”界面(如图2),有鼠标模式、键盘模式和应用程序和实用工具四个选择。 图3 鼠标模式,此模式下手机模拟电脑鼠标功能 图4 键盘模式,此模式下手机模拟电脑键盘功能选择“鼠标模式”即可进行用手机按键模拟电脑鼠标的功能(如图3),此时手机端屏幕能实时显示鼠标周围的部分屏幕图像;选择“键盘模式” 即可进行用手机按键模拟电脑键盘的功能(如图4),此模式下可用手机编辑文档、玩赛车游戏等。 图5 应用程序(酷狗),手机控制酷狗软件 图6 应用程序(IE浏览器),手机控制IE浏览器选择“应用程序”即可进入应用程序界面,目前包括的常用程序有酷狗(如图5)、火狐浏览器、Windows Media Player、IE浏览器(如图6)、暴风影音和PPT幻灯片。选择某个应用程序即可对其进行控制,但要保证该应用程序在前台运行。206 结 论目前本软件系统的开发工作以基本完成,顺利达到了初期开题时所要实现的目标。实现的功能有:手机按键模拟电脑鼠标,包括鼠标的上下左右移动,鼠标的左右键点击,中间滚轮的滑动、按键等;手机按键模拟电脑键盘的部分按键,包括上下左右键,空格键、退格键、tab键和回车键;以及用手机控制电脑的部分常用软件,包括酷狗、暴风影音、IE浏览器、ppt等,实现的功能有用手机控制播放器的音量、播放/暂停、快进快退、视频音频移动、网页的新建与关闭、ppt的播放、换页与停止等,还有手机一键控制计算机常用功能,即关机和重启等。本软件系统较深度研究了蓝牙的通信机制以及计算机相应控制功能的API,将手机与电脑用蓝牙连接的功能从只有传输文件扩展到更多的方面,更新了手机功能,创新了蓝牙应用,革新了电脑控制观念。此软件系统第一适合休闲,方便用户在使用时无线远程控制,不增加更多的遥控设置,也不用将电脑放在面前,远离辐射,如用电视般舒适地用电脑。第二适合教学,只要老师有手机在加一个蓝牙适配器即可。第三适合手机商,他们可将此应用绑定于手机,可以作为其一个卖点。手机和计算机的融合已是一种趋势,实现手机和计算机的融合对于娱乐互动和新媒体的推广也有一定的促进作用,让人们更好的享受移动新媒体所带来的娱乐功能。虽然目前本软件系统已经支持了一些功能,但为了更好地满足用户的需要,还需要进一步开发更多功能,向方便用户使用的方向,进行进一步的研究与开发,开发用户切实需要的功能,如扩大键盘功能的控制范围,使用手机打开电脑端软件时有更快捷的方式,而不是在模拟鼠标功能里打开,还有就是增加控制应用软件的数量和控制的功能,使用户使用起来更方便、控制范围更广。致 谢大学生活是人生中最美好的一段时光,在浙江传媒学院的四年生活给了我人生中最宝贵的经历,不管是学业上还是生活中,都是我人生中最精彩的一段。值此论文完成之际,我谨向我的导师以及其他教诲、关心和帮助过我的老师和同学们表示衷心的感谢和诚挚的祝福!首先我要感谢我的导师林生佑副教授,是他把我领进了程序设计的大门,并一直指引着我稳步向前。从论文的选题开始、研究工作的开展到论文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论