ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:277.50KB ,
资源ID:229856      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/229856.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Android平台下智能手机多屏互动系统的设计.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Android平台下智能手机多屏互动系统的设计.docx

1、Android平台下智能手机多屏互动系统的设计摘要:本文设计的Android平台下智能手机多屏互动系统,定义了一种支持智能手机对智能电视远程遥控和文件共享的通信协议。协议安全稳定、扩展性强,适用于多个平台;通过分析Android系统特有的进程模型,实现了运行在智能电视端的服务器应用。关键词:Android平台;智能手机;多屏互动;通信协议1.引言本文设计的Android平台下的智能手机多屏互动系统,系统设计包括建立客户端和服务器之间的通信两方面。服务器对客户端命令进行解析和执行以实现手机操作到智能电视的映射服务器的实现依赖于通信协议的定义。智能手机的多屏互动技术是指实现智能手机与智能电视、平板

2、电脑、PC等多屏之间的设备关联、内容共享和用户信息的交互技术。多屏互动技术,能够通过无线互联的方式,整合优化现代家庭、商务、教育、娱乐等应用场景中设备之间的联系,使其互连互动、避短集优,实现资源最大化分享利用。通信的难点在于其安全性和稳定性,针对这一难点,系统定义了运行在TCP协议层的可靠通信协议,并通过设立账户实现安全控制。系统实现了运行在智能电视端的服务器应用,并通过分析Android系统特有的进程模型,解决了服务器应用向系统正在运行的前台应用发送按键事件的难题。2.通信协议的设计系统的设计目标是为有权限的用户提供服务、智能手机对智能电视远程遥控和文件共享。系统的交互需求分为命令控制和文件

3、共享两大类:命令控制实现智能手机模拟遥控器直接发送按键命令,或将用户手势输入、体感输入和语音输入转换为相应的命令对智能电视进行遥控;命令控制同时包括用户账户控制。文件共享实现智能手机将图片、视频及文本等数据文件传输到智能电视。智能手机客户端和智能电视服务器之间稳定、安全的通信建立在设计合理、支持系统交互需求、可扩展性强、可移植性强的通信协议的基础上。2.1协议模型协议定义在TCP/IP协议的应用层,参考FTP协议制定,由于TCP是可靠通信协议,将协议定义在该层保证了系统通信的稳定性和可靠性。服务器在任意时刻最多只有一个被授权的客户端,当有一个客户端通过用户名和密码登陆后,服务器为该客户端建立起

4、一个会话,并对后续到达的客户端不再授予操作权限,直至该会话结束。一次完整的会话,包含有两个独立的连接,一个为控制连接,一个为数据连接。命令传输和数据传输并行进行,防止数据传输影响用户操作,可以带来较好的用户体验。协议模型如图1所示。图1 协议模式控制连接用来传递一些“命令”和反馈,包括用户名和密码。数据连接用来传递实际数据文件,一旦需要文件传输,就会建立一个数据通道。数据连接端口的选择依赖于控制连接上的命令。在传输数据的时候,服务器端连接至客户端的指定端口发送数据。服务器收到PASV命令后,打开一个临时端口(注册端口)并且确认客户端在这个端口上传输数据的请求,客户端连接至服务器此端口,然后服务

5、器将通过这个端口传输数据。2.2协议命令对应系统命令控制和文件共享两大需求,协议细分为访问控制、按键控制、频道跳转、文件共享和传输控制五种命令集。(1)访问控制命令:客户端接入系统与服务器建立起可靠连接后,需要发送用户名和密码获得智能电视遥控权限,可随时退出登录。用户名(USER)是标记用户的Telnet串。用户标记是访问服务器必须的,此命令是控制连接后第一个发出的命令。服务器可以在任何时间接收新的USER命令以改变访问控制。密码(PASSWD)是标记用户密码的Telnet串,此命令紧跟USER命令。如果没有数据传输,服务器关闭控制连接;如果有数据传输,在得到传输响应后服务器关闭控制连接。对控

6、制连接的意外关闭,可以导致退出登录(QUIT)。(2)键盘控制命令:多屏互动系统的基本特征是智能手机作为遥控器遥控智能电视;客户端可以直接模拟遥控器发送按键命令,也可以通过云端识别体感和手势动作,转化为不同的按键命令,对智能电视进行遥控。(3)频道切换命令:为了有效利用智能手机的语音输入,对电视机进行控制,系统设计了使用语音进行频道切换的控制模块。客户端输入为频道名称或频道号,由云端识别后转化为频道切换命令发送至服务器进行频道切换。频道切换的命令如表1所示。表1 频道切换命令命令涵义TVCNAME-*按频道名称进行频道切换TVCSEQ-*按频道号进行频道切换(4)文件共享命令:智能手机和智能电

7、视交互的一个重要特色,体现为手机拍照或摄影后,能够将照片或者视频上传至智能电视以家庭相册的方式进行存储和播放。协议同时支持文本文件的共享。文件共享的命令如表2所示。表2 文件共享命令命令涵义APPE将文件附加到已经存在的文件后而FILEFINISH文件传输结束STOP上载文件,若文件已经存在则覆盖(5)传输参数命令:当一个数据传输建立起来时,通常需要指定一些传输参数:数据类型、数据端口等。数据类型指定如何将文件的数据匹配成适于传输的格式:ASCII类型解决了搭载不同手机操作系统的智能手机文本编码格式不同的问题,保证了通讯协议的跨平台性。在发送端,文件从本地文本文件格式转换为Linux/UNIX

8、文本格式,每行结束有一个LF来标识,接收后在搭载Android系统的智能电视上直接存储。图像(或二进制)类型使文件以本地存储内容传输,在远端以同本地完全相同的内容存储。在多屏互动系统的内容共享模块主要采用二进制类型的文件格式传输。所有数据传输参数有默认值。服务器必须记录下默认值,在交互的双方建立起连接并获得访问授权,可以以任何顺序发送。数据端口(PORT)参数是要使用的数据连接端口,通常情况下对此不需要命令响应。如果使用此命令时,要发送32位的IP地址和16位的TCP端口号。3.服务器的设计与实现服务器设计依赖于双通道的协议模型。在保证系统安全稳定的前提下,实现了智能手机客户端对智能电视的遥控

9、和手机文件共享至智能电视。3.1服务器设计系统采用C/S架构,智能手机作为客户端,智能电视作为服务器。服务器由三个基本模块构成:第一个模块为设备连接模块,第二个模块为解析命令模块,第三个是命令执行模块。其中,第二个模块的输出作为第三个模块的输入。第一个模块中,首先要由用户进行一些基本的设置,包括用户名、密码、服务器监听的端口号以及手机发送到机顶盒的文件存放的文件口录。设置完成后,启动服务器,服务器应用以后台服务的形式开始运行,同时在指定端口建立一个Server Socket的监听,并等待客户端的连接请求,如果有客户端的连接请求被服务器接收,服务器会在该端口处建立一个Socket连接作为与客户端

10、的命令连接通道,并通过建立起来的命令通道进行命令的接收和执行结果的反馈。第二个模块中,用户通过一个支持多屏互动交互协议的客户端程序,向智能电视服务器发出命令;服务器接收到命令后使用命令解析程序对命令进行解析,得到命令头和命令参数,并传入命令执行模块。由于智能手机等移动终端计算能力有限,因此对于语音输入、手势输入和体感输入,采用了端-云-端的连接模式,智能手机会将语音数据、手势数据上传至云端,经过云端识别处理后转化为符合协议定义的有效命令,并直接发送至服务器;而按键命令和文件共享则采用端-端的直连模式。客户端与服务器的交互图如图2所示。图2 系统交互图第三个模块针对第二个模块中传入的命令头和命令

11、参数进行处理,通过命令头来判断命令类型,根据命令类型调用不同的子模块执行接收到的命令。每个子模块的工作方式为,对接收到的命令开启一个新的线程,执行完毕后,返回执行状态,并由连接模块反馈给客户端;多线程调度可以实现文件传输和命令控制的并发处理。对按键控制类的命令,服务器主要做的工作是解析命令格式,获取客户端发送的按键信息,将按键信息广播至系统正在运行的前台应用,该前台应用接收到广播后重构按键事件并分发响应。对于文件存储类命令,每当有一条STOR或APPE命令到达,服务器首先解析命令类型和文件名,通过命令类型做出新建文件或是续写文件的响应,然后建立数据连接通道和文件输入流,并从数据通道中读取数据写

12、入文件。当一次数据写入完成,数据连接通道关闭,并在下一条文件存储命令到达后重新建立。当客户端取消文件发送时,仅需要中断数据的发送;当文件发送完毕,客户端发送FILEFINISH命令通知服务器执行图片、视频的播放或文本文件的打开等动作。服务器通过访问控制命令实现对客户端程序的授权和关闭命令连接的操作;通过传输参数命令实现稳定的数据传输。命令的正确解析以及服务器对客户端命令的响应和反馈保证了手机与服务器交互逻辑的正确性。3.2多应用遥控壁垒与方案设计服务器对按键控制命令的执行方案既避开了Android系统不同应用间不能互相控制的限制,又以最小的工作量实现了对系统程序运行的监控。(1)Android

13、系统进程模型Android系统基于Linux内核,因此沿用了Linux内核层包含的两个基本安全机制:可移植操作系统接口(POSIX)用户和文件访问控制7j。用户拥有进程和文件对象,系统根据用户ID和所属群组ID控制用户对文件和进程的访问权限。Android系统和Linux系统的一个重要区别在于,在Linux系统中,一个用户ID识别一个特定用户;而Android是一个权限分立的操作系统,每个应用都以唯一的一个系统识别身份运行(Linux、用户ID与群组ID),系统为每个应用软件和该软件创建的私有文件数据分配一个用户ID。在Android系统中,由于按键事件的分发是系统事件,一个应用或服务只有获取

14、系统权限才能够实现对其他应用的按键控制,而普通用户安装的应用和服务在一般Android系统上不可能获得系统权限。若将服务器作为系统应用,开放访问权限,则违背了Android系统权限分立的设计初衷,可能会为黑客攻击留下漏洞,有效利用Android系统进程间通信机制,就可以避开权限访问限制。(2)方案设计Android系统中的广播是广泛用于应用程序之间通信的一种手段,是系统级别的事件处理过程,它的实现依赖于Intent和Broadcast Receiver对象。Broadcast Receiver是对系统发送出来的广播Intent进行过滤接收并响应的一类组件,用于接收系统广播Intent。系统广播

15、Intent的发送是通过在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action, Category)装入一个Intent对象,然后通过调用Context类的send Broadcast()、send Order Broadcast()或、end Sticky Broadcast()方法,把Intent对象以广播方式发送出去来实现的。通常一个广播Intent可以被订阅了此Intent的多个广播接收者所接收。使用Broadcast Receiver需要在系统进行注册,注册方式有两种:静态注册方式在Android Manilest.xml的application里而定义receiver

16、并设置要接收的action, category等,通过这种方式注册的Broadcast Receiver在应用存续期间会一直监听系统是否有广播;动态注册方式则在代码中对其进行注册,开发者可以根据需要决定该Broadcast Receiver对系统广播的监听时段。为了能够仅将按键命令发送到系统当前运行的前台应用,方案采用代码动态注册方式对Broadcast Receiver进行注册以实现应用只有在前台运行时才监听服务器应用对按键数据的广播。Android系统生命周期如图3所示。图3 Android应用生命周期Android系统任意时刻只有一个活动进程在运行,当进程变为不可见或后台进程时,都会执行(on Pause)这一生命周期函数,而当进程变为活动进程时,又都会执行(on Resume)这一生命周期函数。因此,在应用变为前台进程时注册Broadcast

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1