APP下载

基于Android系统的多设备协同交互实验系统设计

2014-10-20刘伟锋张连波

电脑知识与技术 2014年25期
关键词:智能设备无线传输系统设计

刘伟锋 张连波

摘要:随着计算机及Internet技术的飞速发展,便携式智能设备的应用变得普遍,而Android系统由于其开源性,更是得到了广大开发者的青睐。针对多设备的协同交互问题,设计了无线局域网内多Android设备协同交互系统。首先分析了交互系统功能及其涉及的Android开发技术,接着进行了人机交互设计,最终实现了Android设备间的图片、视频及控制命令的无线传输,从而完成不同Android设备之间的协同控制与交互功能。实际应用表明,该实验系统能够完成多设备的协同交互与控制,增强教学的趣味性和吸引力。

关键词:多Android设备;协同交互;无线传输;系统设计;智能设备

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)25-5890-05

Design of Cooperative Interaction Experimental System on Multiple Devices of Android

LIU Wei-feng,ZHANG Lian-bo

(College of Information and Control Engineering, China University of Petroleum(East China), Qingdao 266580, China)

Abstract: With the rapid development of computer and Internet technology, applications of portable smart devices become accessible to people. Due to its open-source merit, development on Android attracts more and more attention. Considering the cooperative interaction of multiple devices, a system under the same wireless local area network is designed on multiple Android devices. Firstly, systemic functions and related Android technologies are analyzed. Then the human computer interfaces are designed. Finally, the functions of cooperative control and interaction on multiple Android devices are implemented through wireless transmission of pictures, videos and control commands between different devices. The conducted experiment demonstrates that the designed experimental system can implement cooperative interaction and enhance teaching interesting and attractive

Key words: Multiple Android devices; cooperative interaction; wireless transmission; system design; smart device

随着计算机嵌入式系统以及Internet的迅速发展,便携式智能设备例如手机、平板电脑等已变得普遍,基于智能设备的操作系统开发也受到了广泛的关注。近年来常见的操作系统有Android、iOS、Symbian、Windows Phone和BlackBerry等。其中Android系统基于Linux内核,以Java为编程语言,完全开放开源,从第一版Cupcake发布到最新的KitKat(Android 4.4),Android操作系统不断完善,越加成熟。Android设备集成了众多的传感器,结合Android操作系统不断完善对各种设备和传感器的支持,使得Android设备的功能越来越丰富,也方便了众多的Android开发人员开发越来越强大的功能,特别是Android的开源特性赋予了其高度可定制的优点,吸引了大批的国内外开发者,开发了数以亿计的Android应用[1-5]。

目前大多数的Android应用开发都基于单一设备,而便携式智能设备的广泛使用对多设备之间协同交互的需求越来越迫切。基于此,设计了一种无线局域网内多Android设备协同交互实验系统。首先分析了交互系统功能及其涉及的Android开发技术,接着进行了人机交互界面以及相关功能设计,最终通过多Android设备间的图片、视频及控制命令的无线传输,完成不同Android设备之间的协同控制与交互。将智能系统应用开发引入到大学生实验系统设计中,能够增强实验趣味性,激发学生的学习兴趣,进而培养学生的动手能力、创新能力。

1 Android系统应用开发简介

从开发的角度来看,Android是一个软件集,它包括一个操作系统、中间件和相关应用程序。Android SDK提供了在Android平台上使用Java语言进行应用开发必需的工具和API接口[1,3]。

Android依赖Linux内核提供核心服务,包括安全机制、内存管理、进程管理、网络、硬件驱动等。基于Linux内核,Android提供了多个程序库和运行时环境,利用Android提供的程序库可以方便进行多媒体(图片、视频)操作,Web控制,数据库读取以及图形显示等。而运行时环境运行在Dalvik Java 虚拟机上,主要提供Java功能。除了基于Linux的系统核心以及各种程序库和运行时环境,Android还提供了应用框架以及部分核心应用,应用框架允许开发者使用Java编写应用程序,并能够充分的访问所有核心应用的API,简化组件的重用。部分核心应用包括智能设备常见的核心应用,比如联系人、电子邮件、日历、电话等。

综上Android的系统构架如图1所示,可见Android为开发者提供了包括硬件驱动、网络连接、数据库、多媒体操作、人机交互以及开发工具集,可以方便的进行应用开发。

2 实验系统功能设计

本实验系统基于Android操作系统,以图片和视频为对象,完成多个Android设备间的图片或视频的传输,不同设备间对同一图片或视频进行协同控制等。结合Android操作系统的人机界面,功能设计如下。

1) 上线检测功能:系统启动时,向局域网内广播本系统的地址,系统运行时,检测其他设备的上线及地址信息等并进行图形化显示。

2) 图片或视频传输:在待机界面,打开某一操作对象(例如图片或视频文件),按住改操作对象,向界面显示的另一设备图标滑动,则将对象发送到相应的Android设备。

3) 图片或视频远程控制:当多台设备打开同一操作对象时,控制一台设备,对其他设备的对象进行操作(例如图片的缩放、视频的播放控制等)。

4) 图片或视频的协同控制:多台设备可以对同一对象进行操作,比如多台设备协同显示较大尺寸的图像,或同步播放相同的视频。

实际中,为了保障实验的可行性,设计了基本的实验操作流程供学生参考,具体如下:

1) 连接WiFi,保证不同Android设备位于同一无线局域网,并将设计程序安装到设备中;

2) 打开设备中的的应用,在屏幕右上角显示本机IP地址,当其他设备应用打开后,同时显示其他设备的IP地址;

3) 点击菜单键(或其他操作)加载图片(或视频);

4) 按住图片,将其向屏幕中其他某一设备进行滑动,将图片发送至相应设备,并在接收设备中进行接收和图片显示(滑动操作可以有惯性移动效果);

5) 当不同设备打开同一图片时,双击其中一设备图片,其他设备中图片会放大,再次双击,图片缩小;

6) 当不同设备打开同一图片时,双指按住其中一设备图片进行伸缩,各设备中的图片随之缩放;

7) 两台设备同时显示一张图片,在一设备中滑动图片控制不同设备的显示比例;

8) 当不同设备打开同一视频时,通过调整其中一设备的播放进度,其他设备中视频播放进度进行同步。

3 实验系统实现方案分析

Android系统开发环境配置主要包括:1) JDK安装;2) Android开发工具安装与配置;3) 创建Android虚拟机(AVD)[5] 。

3.1 JDK安装与配置

由于Android系统开发使用Java语言,因此首先需要安装Java开发环境JDK,将JDK安装到相应位置,并进行环境变量设置。

右键点击“我的电脑”并依次选择“属性→高级→环境变量→系统变量”中添加以下环境变量:

JAVA_HOME: D:\Program Files\Java\jdk1.6.0_18(安装JDK的目录);

CLASSPATH: .; %JAVA_HOME%\lib\tools.jar; %JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\bin;

增加Path: %JAVA_HOME%\bin;

安装完成之后,可以再检查JDK是否安装成功。打开cmd窗口,输入java —version 查看JDK的版本信息。出现类似图2的画面表示JDK安装成功。

3.3 创建Android虚拟机(AVD)

为使Android应用程序可以在模拟器上运行,必须创建Android 虚拟机(AVD)。在Eclipse中。选择Windows > Android SDK Manager,下载相应版本的开发包(每发布一个新的Android版本就会有一个新的包)安装之后就可以创建相应版本的Android虚拟机了。

在Eclipse中。选择Windows > Android Virtual Manager,选择一个设备(Device)(如图4) 就可建立相应的Android虚拟机。设置好相关参数并启动,就完成了Android系统的开发环境配置,可以模拟相应的Android系统版本并进行应用开发了,图5为模拟的Android 2.3.3版本的启动界面。

3.4 系统功能实现方案

设同一无线局域网内有2台Android设备A和B,本系统需要完成的核心功能包括:1) A、B设备之间的数据(图片或视频)发送与接收;2) 通过一台设备A控制另一台设备B的图片(或视频)的显示与播放;3) A、B设备协同工作,共同显示一张图片或同步播放同一视频。

协同交互系统的关键是不同设备之间的控制命令及数据的发送与接收。利用无线网络传输技术可以使用TCP Socket和UDP Socket实现图片传输和操控命令的收发,两种Socket通信模型如图6所示。

协同交互系统的另一关键是命令传输与控制方式, Android操作系统支持触屏功能,通过不同的手势动作进行不同的对象控制,通过Android SDK提供了大量的函数库(例如Activity类、SimpleOnGestureListener类等),能够完成滑动、点击、双指缩放等手势动作的识别。

最后,针对不同的控制对象,其需要的操作函数也不相同,例如对于图片以及视频的显示与播放需要利用Imageview控件以及videoview的相关函数,对于多任务的操作需要利用多线程编程技术等。

综上,以图片或视频为控制对象的多Android设备的协同交互系统涉及TCP Socket,UDP Socket,Handle消息传递,多线程技术,手势识别,Imageview、VideoView等多种技术的综合使用。具体地,1) 使用UDP Socket实现了设备的上线通知检测;2) 使用TCP Socket技术实现了数据以及操控命令的收发;3) 使用Handle消息传递机制实现了对消息的类间传递和处理;4) 使用多线程编程技术实现了跨UI线程的网络传输;5) 使用多点手势识别实现了图片的双击缩放,两指自由缩放,滑动发送等涉及UI界面上图片操作的实现;6) 使用Imageview、VideoView等图片视频相关操作技术实现了图片的显示及缩放、视频的播放及进度调整等功能。

图9为系统开发效果示例,其中图9(1) 是通过滑动一设备图片将其发送至另一设备中,图9(2) 是通过两指自由缩放操作另一设备图片显示,图9(3) 是两台设备协同显示同一张图片以及不同设备的视频协同操作功能。

4 实验系统应用效果

培养大学生的创新精神,实验教学不能仅仅验证理论知识,更需要让学生参与到实验设计中,在实验设计过程中提高实践能

力[6-9]。所开发的系统首次应用于中国石油大学(华东)大学生创新实验设计中即受到广大学生的欢迎,通过该系统设计实验,使学生掌握了Android系统开发流程及系统设计方法,Android系统灵活的人机交互方式,比传统的鼠标键盘操作更能激发学生的学习兴趣及创新思维,在该系统设计实验的启发下,很多同学提出了便携式导航软件系统,智能听诊器,智能导盲手杖,智能汽车安全预警系统等众多新的想法与设计思路,真正培养了学生的动手能力及创新能力。

5 结束语

《国家中长期教育改革和发展规划纲要(2010-2020年)》[10] 要求“优化知识结构,丰富社会实践,强化能力培养。着力提高学生的学习能力、实践能力、创新能力”。中国石油大学(华东)亦全面实施了本科“质量工程”建设,以培养学生能力为目标,提出了“三三三”本科培养体系[11-12]。本系统是中国石油大学(华东)电子信息类教学实验模式改革的一个尝试,将流行的Android系统开发引入到大学生创新实验设计中,使学生了解了学科发展前沿,开过了学生的专业视野,增加了学生的学习兴趣,锻炼了学生的动手能力,激发了学生的创新思维,收到了良好的实验效果。

参考文献:

[1] 克曼特内呢,麦克莱恩,哈希米.精通Android 3[M].杨越,译.北京:人民邮电出版社,2011.

[2] 梅尔.Android 2高级编程[M].王超,译.北京:清华大学出版社,2010.

[3] 李刚.疯狂Android讲义[M]. 2版.北京:电子工业出版社,2013.

[4] 郭宏志.Android应用开发详解[M].北京:电子工业出版社,2010.

[5] 陈强.Android实例开发完全手册[M].北京:人民邮电出版社,2012.

[6] 郑春龙,邵红艳,钟振余.等.创新性开放实验项目建设的探索与实践[J] .实验技术与管理,2009,26(10) :15-17,20.

[7] 张建功.新形势下高校实验室管理工作探析[J].实验技术与管理,2006,23(9) :112-115.

[8] 阳太林.以学生创新能力的培养为中心改革高校实验教学[J].实验技术与管理,2005,22(10): 34-38,41.

[9] 张友琴,王萍,朱昌平,等.以大学生创新性实验计划为契机培养创新型人才[J].实验技术与管理,2011,28(7) :167-170,212.

[10] 教育部. 国家中长期教育改革和发展规划纲要(2010-2020单行本)[M]. 北京:人民出版社,2010.

[11] 刘华东. 培养高素质人才是高校的第一要务[J].中国高教研究,2012(7) :69-71.

[12] 刘华东.高水平研究型大学视角下的本科教育[J].中国石油大学学报:社会科学版,2013,29(5):154-160.

猜你喜欢

智能设备无线传输系统设计
基于无线传输的LED灯远程控制系统设计
无线传输LED十字屏集群控制系统
以微课促进高校微改革
公路路面现场检测数据无线传输系统的设计
一种基于SATA硬盘阵列的数据存储与控制系统设计研究
目标特性测量雷达平台建设构想
基于LABVIEW的温室管理系统的研究与设计
智能设备中电子阅读APP界面设计研究
交通信号控制机中无线热点的设计和实现