基于Android的幻灯片控制器

2014-03-14 05:15李社蕾孙天宇
电脑与电信 2014年6期
关键词:监听服务器端幻灯片

李社蕾 孙天宇

(三亚学院理工学院,海南 三亚 572022)

基于Android的幻灯片控制器

李社蕾 孙天宇

(三亚学院理工学院,海南 三亚 572022)

本设计通过Android操作系统的移动设备对个人计算机进行控制,从而对幻灯片、MediaPlayer等软件或桌面进行远程操作。完成了MediaPlayer的直接控制以及通过触屏模拟电脑触摸板从而实现模拟鼠标的操作功能,实现了通过Android手机等触屏设备对个人电脑的幻灯片操作。

Android;控制;客户端;服务器

1.引言

随着Android操作系统的快速发展,Android移动设备也不断增加。远程控制软件的发展也到达了一个新领域[1]。幻灯片控制器设计与实现,意在便利使用者的工作与生活[2]。软件通过Android操作系统的移动设备对个人计算机进行控制,从而实现对于幻灯片、MediaPlayer等软件或桌面的远程操作。

2.总体设计

2.1 幻灯片控制器PC端服务器设计

服务器端使用Java编写。需要获取本机IP,对于用户填写的端口号进行合法性的验证。对于客户端发送来的信息进行处理反馈,并在个人电脑中执行相应的操作。如图1所示。

2.3 程序执行流程图

程序执行过程可大致分为:

(1)准备阶段,在PC端启动用于接收指令的服务器程序监听设定端口,客户端获取用户填写IP以及端口号。

(2)信息发送阶段:用户与UI产生互动,客户端向指定端口发送信息。

(3)信息接收阶段:服务器从所监听端口获取相应数据并按规则拆分。

(4)响应阶段:服务器接收信息后对信息进行相应处理,并对个人电脑进行操作。

流程图如图3所示。

图3 程序执行流程

图1 服务器端执行流程图

2.2 幻灯片控制器Android客户端设计

系统包括幻灯片控制器,鼠标控制器,以及mediaplayer控制器三部分,分别通过触摸,按钮对其进行相应的控制操作,如图2所示。

图2 客户端结构图

3.详细设计

3.1 服务器程序

(1)图形界面的初始化

图形界面作为用户与程序交互的窗口,是程序开发中一项不可或缺的重要工作,通过任何语言或者不同的工具实现图形化的原理都很相像[3],即通过用户点击、输入等操作传递信息,对用户的操作作出响应,创建视图不仅要有适当的元素,还要进行合理的布局。

(2)信息的监听

服务器端最重要的功能即时对客户端发送来的信息进行监听和处理,Android支持socket通信[4],TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。这也使得TCP是一个繁琐而且延迟十分大的传输方式,相比之下UDP则不需要繁琐的验证流程,也不需要接收端作出回应,虽然可能会发生丢包现象但是对操作影响并不大,而与之相比带来的是良好的实时性。因而在选择传输方式时选择了UDP。

(3)信息的处理

作为一款远程控制软件,仅仅监听所得到的信息显然是不够的,最终的目的是要对用户的操作做出响应,从而对计算机或其相应的软件进行控制,已达到便利工作生活的目的。计算机最常用的输入设备一般为鼠标和键盘,所以绝大多数软件在支持鼠标控制的同时,也支持键盘快捷键的控制。因此可以使用Robot类来模拟鼠标和键盘,对系统下达指令,完成用户的操作。服务器端连接界面如图4所示。

图4 服务器端连接界面图

3.2 客户端程序

(1)连接界面

根据需求分析以及设计的用户界面确定所需要的类,在用户输入相应信息之后需要触发一个事件把该信息发送出去,这个时间就是Click事件,因此需要使用Button来完成该操作,然而用户不一定了解输入格式,所以用TextView标签把输入格式和要求提供给用户,即便如此也不能保证用户一定会有合法的输入。因为端口号要求是整形,但是通过getText ()获取到的是字符,如果用户输入空置,则在强制转换的过程中必然会报错。为了防止上述状况的发生,则需要在触发事件时加上异常处理,并使用AlertDialog对用户进行提示。

(2)鼠标控制界面

根据需求分析以及设计的鼠标界面确定所需要的类,通过触摸操作来模拟鼠标操作的方式就是通OnTouchListener来监听用户对手机屏幕的触摸操作,分别截获用户手指开始触摸以及触摸结束时所处位置的坐标,然后将其间的横纵坐标的差值作为移动的距离传给服务器端。因为把手放在手机屏幕上即便不动实际坐标也会不断变换,因此需要将捕获到的新坐标赋给第一次接触时的坐标fx和fy,否则就会产生只要手不离开鼠标指针就会一直移动的效果。

在鼠标按键操作时,为了给用户反馈按键已生效的信息,应该在按钮被按下时改变图标,直接使用setImageResource的话会导致图层叠加,看起来会有两个图标叠在一起的感觉,所以要使用Handler.post()对UI进行更新,以右键的点击为例。

(3)幻灯片控制界面

根据需求分析以及设计的UI确定所需要的类,幻灯片在播放时,主要的操作是翻页以及全屏和退出全屏,较少用到其它操作,本页面的主要目的是使用户脱离有线设备的局限,使用简单明了的按钮对自己的幻灯片进行播放,如果需要其他操作可结合鼠标控制一并完成,因此幻灯片控制界面只需要四个图片按钮即可完成。

(4)MediaPlayer控制界面

根据需求分析以及设计的控制界面确定所需要的类,对于MediaPlayer播放器的控制原理与幻灯片控制相同,也是通过OnClickListener对OnClick事件的监听完成信息由客户端向服务器端传送的过程,然后由Robot类模拟键盘快捷键的操作,从而实现通过手机对MediaPlayer播放器的控制,部分不同的地方是“播放”按钮和“全屏”按钮在按下后需要一次UI更新。

4.程序测试

经过需求分析、设计和编码等阶段的开发后,得到了源程序,开始进入测试阶段。经过模拟器运行测试运行没有什么问题,但是因为同处于一台机器,使用同一个输入设备,所以对于遥控功能的测试比较勉强。在真机上可以正常运行,并能较好地实现预定的功能。

点击菜单键弹出相应选项,或向左滑动屏幕选择Media-Player模式并实现跳转。如图5所示。跳转成功后会有“吐司”弹出成功的提示,如图6所示。

图5 鼠标模式运行图

图6 MediaPlayer模式运行

5.总结

系统采用Client/Server结构。实现由客户端机器向个人计算机开启的服务器从指定端口发送信息,由服务器端软件接收、解析信息,并向个人计算机下达指令,完成用户指定的操作。通过开发与测试,最终实现了通过Android手机等触屏设备对个人电脑的幻灯片、MediaPlayer的直接控制以及通过触屏模拟电脑触摸板从而实现模拟鼠标的操作功能。从而方便了用户对个人电脑的操作,也可以作为鼠标的备用或替代。

[1]Wuzhimin.Android,之父安德鲁宾:生而Geek[J].程序员,2010.9.

[2]新浪科技.谷歌推开源移动操作系统33家巨头加入手机联盟[OL].新浪科技,2007.

[3]王然.摩托罗拉欲借Android翻身:占据50%市场份额[N].经济观察报,2010.09.25.

[4]Markoff.John.I,Robot:The Man Behind the Google Phone[J].The New York Times,2007.11.04.

[5]Businessweek.Google Buys Android for Its MobileArsenal[OL].Businessweek.com,2005.

PPT Controller Based on Android

Li Shelei Sun Tianyu
(Polytechnical School,Sanya College,Sanya 572022,Hainan)

The design is to control the personal computer by Android mobile device,thus for the remote operation of software or desktop such as slides and MediaPlayer.It completes the MediaPlayer direct control,and the simulation of mouse operation through touch screen.It realizes to operate the slides in the computer through theAndroid mobile phones.

Android;control;client;server

李社蕾,女,河南清丰人,硕士,讲师。研究方向:嵌入式开发、物联网应用。

三亚学院校级科研项目,项目编号:XYDF12-2。

猜你喜欢
监听服务器端幻灯片
水幕幻灯片
英国风真无线监听耳机新贵 Cambridge Audio(剑桥)Melomania Touch
Linux环境下基于Socket的数据传输软件设计
千元监听风格Hi-Fi箱新选择 Summer audio A-401
网络监听的防范措施
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
实现幻灯片的缩放功能
应召反潜时无人机监听航路的规划
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用