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

上传人:wj 文档编号:2117730 上传时间:2023-05-02 格式:DOCX 页数:8 大小:277.50KB
下载 相关 举报
Android平台下智能手机多屏互动系统的设计.docx_第1页
第1页 / 共8页
Android平台下智能手机多屏互动系统的设计.docx_第2页
第2页 / 共8页
Android平台下智能手机多屏互动系统的设计.docx_第3页
第3页 / 共8页
Android平台下智能手机多屏互动系统的设计.docx_第4页
第4页 / 共8页
Android平台下智能手机多屏互动系统的设计.docx_第5页
第5页 / 共8页
Android平台下智能手机多屏互动系统的设计.docx_第6页
第6页 / 共8页
Android平台下智能手机多屏互动系统的设计.docx_第7页
第7页 / 共8页
Android平台下智能手机多屏互动系统的设计.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《Android平台下智能手机多屏互动系统的设计.docx》由会员分享,可在线阅读,更多相关《Android平台下智能手机多屏互动系统的设计.docx(8页珍藏版)》请在冰点文库上搜索。

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

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

摘要:

本文设计的Android平台下智能手机多屏互动系统,定义了一种支持智能手机对智能电视远程遥控和文件共享的通信协议。

协议安全稳定、扩展性强,适用于多个平台;通过分析Android系统特有的进程模型,实现了运行在智能电视端的服务器应用。

关键词:

Android平台;智能手机;多屏互动;通信协议

1.引言

本文设计的Android平台下的智能手机多屏互动系统,系统设计包括建立客户端和服务器之间的通信两方面。

服务器对客户端命令进行解析和执行以实现手机操作到智能电视的映射—服务器的实现依赖于通信协议的定义。

智能手机的多屏互动技术是指实现智能手机与智能电视、平板电脑、PC等多屏之间的设备关联、内容共享和用户信息的交互技术。

多屏互动技术,能够通过无线互联的方式,整合优化现代家庭、商务、教育、娱乐等应用场景中设备之间的联系,使其互连互动、避短集优,实现资源最大化分享利用。

通信的难点在于其安全性和稳定性,针对这一难点,系统定义了运行在TCP协议层的可靠通信协议,并通过设立账户实现安全控制。

系统实现了运行在智能电视端的服务器应用,并通过分析Android系统特有的进程模型,解决了服务器应用向系统正在运行的前台应用发送按键事件的难题。

2.通信协议的设计

系统的设计目标是为有权限的用户提供服务、智能手机对智能电视远程遥控和文件共享。

系统的交互需求分为命令控制和文件共享两大类:

命令控制实现智能手机模拟遥控器直接发送按键命令,或将用户手势输入、体感输入和语音输入转换为相应的命令对智能电视进行遥控;命令控制同时包括用户账户控制。

文件共享实现智能手机将图片、视频及文本等数据文件传输到智能电视。

智能手机客户端和智能电视服务器之间稳定、安全的通信建立在设计合理、支持系统交互需求、可扩展性强、可移植性强的通信协议的基础上。

2.1协议模型

协议定义在TCP/IP协议的应用层,参考FTP协议制定,由于TCP是可靠通信协议,将协议定义在该层保证了系统通信的稳定性和可靠性。

服务器在任意时刻最多只有一个被授权的客户端,当有一个客户端通过用户名和密码登陆后,服务器为该客户端建立起一个会话,并对后续到达的客户端不再授予操作权限,直至该会话结束。

一次完整的会话,包含有两个独立的连接,一个为控制连接,一个为数据连接。

命令传输和数据传输并行进行,防止数据传输影响用户操作,可以带来较好的用户体验。

协议模型如图1所示。

图1协议模式

控制连接用来传递一些“命令”和反馈,包括用户名和密码。

数据连接用来传递实际数据—文件,一旦需要文件传输,就会建立一个数据通道。

数据连接端口的选择依赖于控制连接上的命令。

在传输数据的时候,服务器端连接至客户端的指定端口发送数据。

服务器收到PASV命令后,打开一个临时端口(注册端口)并且确认客户端在这个端口上传输数据的请求,客户端连接至服务器此端口,然后服务器将通过这个端口传输数据。

2.2协议命令

对应系统命令控制和文件共享两大需求,协议细分为访问控制、按键控制、频道跳转、文件共享和传输控制五种命令集。

(1)访问控制命令:

客户端接入系统与服务器建立起可靠连接后,需要发送用户名和密码获得智能电视遥控权限,可随时退出登录。

用户名(USER)是标记用户的Telnet串。

用户标记是访问服务器必须的,此命令是控制连接后第一个发出的命令。

服务器可以在任何时间接收新的USER命令以改变访问控制。

密码(PASSWD)是标记用户密码的Telnet串,此命令紧跟USER命令。

如果没有数据传输,服务器关闭控制连接;如果有数据传输,在得到传输响应后服务器关闭控制连接。

对控制连接的意外关闭,可以导致退出登录(QUIT)。

(2)键盘控制命令:

多屏互动系统的基本特征是智能手机作为遥控器遥控智能电视;客户端可以直接模拟遥控器发送按键命令,也可以通过云端识别体感和手势动作,转化为不同的按键命令,对智能电视进行遥控。

(3)频道切换命令:

为了有效利用智能手机的语音输入,对电视机进行控制,系统设计了使用语音进行频道切换的控制模块。

客户端输入为频道名称或频道号,由云端识别后转化为频道切换命令发送至服务器进行频道切换。

频道切换的命令如表1所示。

表1频道切换命令

命令

涵义

TVCNAME-*

按频道名称进行频道切换

TVCSEQ-*

按频道号进行频道切换

(4)文件共享命令:

智能手机和智能电视交互的一个重要特色,体现为手机拍照或摄影后,能够将照片或者视频上传至智能电视以家庭相册的方式进行存储和播放。

协议同时支持文本文件的共享。

文件共享的命令如表2所示。

表2文件共享命令

命令

涵义

APPE

将文件附加到已经存在的文件后而

FILEFINISH

文件传输结束

STOP

上载文件,若文件已经存在则覆盖

(5)传输参数命令:

当一个数据传输建立起来时,通常需要指定一些传输参数:

数据类型、数据端口等。

数据类型指定如何将文件的数据匹配成适于传输的格式:

ASCII类型解决了搭载不同手机操作系统的智能手机文本编码格式不同的问题,保证了通讯协议的跨平台性。

在发送端,文件从本地文本文件格式转换为Linux/UNIX文本格式,每行结束有一个LF来标识,接收后在搭载Android系统的智能电视上直接存储。

图像(或二进制)类型使文件以本地存储内容传输,在远端以同本地完全相同的内容存储。

在多屏互动系统的内容共享模块主要采用二进制类型的文件格式传输。

所有数据传输参数有默认值。

服务器必须记录下默认值,在交互的双方建立起连接并获得访问授权,可以以任何顺序发送。

数据端口(PORT)参数是要使用的数据连接端口,通常情况下对此不需要命令响应。

如果使用此命令时,要发送32位的IP地址和16位的TCP端口号。

3.服务器的设计与实现

服务器设计依赖于双通道的协议模型。

在保证系统安全稳定的前提下,实现了智能手机客户端对智能电视的遥控和手机文件共享至智能电视。

3.1服务器设计

系统采用C/S架构,智能手机作为客户端,智能电视作为服务器。

服务器由三个基本模块构成:

第一个模块为设备连接模块,第二个模块为解析命令模块,第三个是命令执行模块。

其中,第二个模块的输出作为第三个模块的输入。

第一个模块中,首先要由用户进行一些基本的设置,包括用户名、密码、服务器监听的端口号以及手机发送到机顶盒的文件存放的文件口录。

设置完成后,启动服务器,服务器应用以后台服务的形式开始运行,同时在指定端口建立一个ServerSocket的监听,并等待客户端的连接请求,如果有客户端的连接请求被服务器接收,服务器会在该端口处建立一个Socket连接作为与客户端的命令连接通道,并通过建立起来的命令通道进行命令的接收和执行结果的反馈。

第二个模块中,用户通过一个支持多屏互动交互协议的客户端程序,向智能电视服务器发出命令;服务器接收到命令后使用命令解析程序对命令进行解析,得到命令头和命令参数,并传入命令执行模块。

由于智能手机等移动终端计算能力有限,因此对于语音输入、手势输入和体感输入,采用了端-云-端的连接模式,智能手机会将语音数据、手势数据上传至云端,经过云端识别处理后转化为符合协议定义的有效命令,并直接发送至服务器;而按键命令和文件共享则采用端-端的直连模式。

客户端与服务器的交互图如图2所示。

图2系统交互图

第三个模块针对第二个模块中传入的命令头和命令参数进行处理,通过命令头来判断命令类型,根据命令类型调用不同的子模块执行接收到的命令。

每个子模块的工作方式为,对接收到的命令开启一个新的线程,执行完毕后,返回执行状态,并由连接模块反馈给客户端;多线程调度可以实现文件传输和命令控制的并发处理。

对按键控制类的命令,服务器主要做的工作是解析命令格式,获取客户端发送的按键信息,将按键信息广播至系统正在运行的前台应用,该前台应用接收到广播后重构按键事件并分发响应。

对于文件存储类命令,每当有一条STOR或APPE命令到达,服务器首先解析命令类型和文件名,通过命令类型做出新建文件或是续写文件的响应,然后建立数据连接通道和文件输入流,并从数据通道中读取数据写入文件。

当一次数据写入完成,数据连接通道关闭,并在下一条文件存储命令到达后重新建立。

当客户端取消文件发送时,仅需要中断数据的发送;当文件发送完毕,客户端发送FILEFINISH命令通知服务器执行图片、视频的播放或文本文件的打开等动作。

服务器通过访问控制命令实现对客户端程序的授权和关闭命令连接的操作;通过传输参数命令实现稳定的数据传输。

命令的正确解析以及服务器对客户端命令的响应和反馈保证了手机与服务器交互逻辑的正确性。

3.2多应用遥控壁垒与方案设计

服务器对按键控制命令的执行方案既避开了Android系统不同应用间不能互相控制的限制,又以最小的工作量实现了对系统程序运行的监控。

(1)Android系统进程模型

Android系统基于Linux内核,因此沿用了Linux内核层包含的两个基本安全机制:

可移植操作系统接口(POSIX)用户和文件访问控制[7j。

用户拥有进程和文件对象,系统根据用户ID和所属群组ID控制用户对文件和进程的访问权限。

Android系统和Linux系统的一个重要区别在于,在Linux系统中,一个用户ID识别一个特定用户;而Android是一个权限分立的操作系统,每个应用都以唯一的一个系统识别身份运行(Linux、用户ID与群组ID),系统为每个应用软件和该软件创建的私有文件数据分配一个用户ID。

在Android系统中,由于按键事件的分发是系统事件,一个应用或服务只有获取系统权限才能够实现对其他应用的按键控制,而普通用户安装的应用和服务在一般Android系统上不可能获得系统权限。

若将服务器作为系统应用,开放访问权限,则违背了Android系统权限分立的设计初衷,可能会为黑客攻击留下漏洞,有效利用Android系统进程间通信机制,就可以避开权限访问限制。

(2)方案设计

Android系统中的广播是广泛用于应用程序之间通信的一种手段,是系统级别的事件处理过程,它的实现依赖于Intent和BroadcastReceiver对象。

BroadcastReceiver是对系统发送出来的广播Intent进行过滤接收并响应的一类组件,用于接收系统广播Intent。

系统广播Intent的发送是通过在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action,Category)装入一个Intent对象,然后通过调用Context类的sendBroadcast()、sendOrderBroadcast()或、endStickyBroadcast()方法,把Intent对象以广播方式发送出去来实现的。

通常一个广播Intent可以被订阅了此Intent的多个广播接收者所接收。

使用BroadcastReceiver需要在系统进行注册,注册方式有两种:

静态注册方式在AndroidManilest.xml的application里而定义receiver并设置要接收的action,category等,通过这种方式注册的BroadcastReceiver在应用存续期间会一直监听系统是否有广播;动态注册方式则在代码中对其进行注册,开发者可以根据需要决定该BroadcastReceiver对系统广播的监听时段。

为了能够仅将按键命令发送到系统当前运行的前台应用,方案采用代码动态注册方式对BroadcastReceiver进行注册以实现应用只有在前台运行时才监听服务器应用对按键数据的广播。

Android系统生命周期如图3所示。

图3Android应用生命周期

Android系统任意时刻只有一个活动进程在运行,当进程变为不可见或后台进程时,都会执行(onPause)这一生命周期函数,而当进程变为活动进程时,又都会执行(onResume)这一生命周期函数。

因此,在应用变为前台进程时注册BroadcastReceiver,在应用变为不可见进程或后台进程时对BroadcastReceiver取消监听,BroadcastReceiver就拥有了和系统前台应用相一致的生命周期。

基于以上分析,有效利用广播机制是系统级别的进程间通信和可以动态注册的特点,提出如图4所示方案设计,当服务器收到按键命令时,广播按键码,发送至当前运行前台进程重构按键事件并给予响应。

图4方案设计

3.3硬件参数和软件实现

系统测试硬件平台为Sigma8654开发板(搭载Android2.2),TP-Link路由器和HTCG2手机(搭载Android2.1),iPodTouch4(搭载i0S),其中Sigma8654开发板为智能电视硬件载体,TP-Link路由器为网络连接设备,HTCG2手机和iPodTouch4作为客户端硬件载体。

Sigma8654开发板的基本硬件配置为512M的RAM,1个LAN接口及2个USB接口。

开发板是通过LAN接口与路由器相连接;智能手机接入无线局域网,与开发板互联,组成多屏互动系统。

经过测试,服务器对客户端的命令执行准确及时;数据通信可以实现文件完整传输;对网络中断等情况容错性良好。

当服务器的其他应用运行时,对客户端发送的按键命令也给予了正确的响应,验证了多应用遥控方案的正确性。

4.结论

基于Android平台的多屏互动系统,其通信协议定义了服务器提供的通信接口和客户端应该实现的功能接口,适用于多个平台,并且具有较强的可扩展性;其服务器的设计与实现使得智能手机与智能电视的交互成为可能。

对Android系统多应用遥控的设计方案有效利用了Android系统的进程间通信和应用生命周期理论,保证了系统的安全性与稳定性,提高了基于Android平台的多屏互动系统的实用价值。

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2