【Android论文栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了Android论文-基于Android平台的人机交互的研究与实现 精灵论文 - 技术总结的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
基于
Android 平台的人机交互的研究与实现 郁亚男 北京邮电大学软件学院北京 100876 摘要随着计算的发展计算变得越来越自由在资源使用方面也越来越灵活。
移动终端由 5 于无线通信网络传输速率的提高以话音为主的通信服务终端和以个人信息管理为主的终端 逐渐整合发展成以智能手机为代表的移动终端。
随着移动终端在普通用户中的普及应用 是否具有便利、简洁、美观的人机交互成为制约移动终端发展的一项关键技术。
人机交互的 设计优劣直接影响了手机销售市场的占有率。
本文叙述了人机交互和移动终端各自的发展 归纳了当前主要的智能终端操作系统的优缺点分析了各自的未来前景。
然后本文针对 10
Android 平台对人机界面和交互方式进行了研究和探讨并详细阐述了实现中 的关键点。
关键词人机交互移动终端
Android 平台智能手机 中图分类号TP315 15 RESEARCH AND IMPLEMENTATION OF MAN-MACHINE INTERACTION BASED ON
ANDROID PLATFORM YU Yanan Software SchollBeijing University of Posts and Telecommunications Beijing 100876 20 Abstract: With the rapid development of technology computing has become more and more flexible in the usage of resources. As the network transmission rate of wireless communication developing as well mobile terminals have absorbed the personal information management gradually. Together with the voice-based communications services mobile terminals are developing into smart phones. Because of the general popularity of mobile terminals how to develop a convenient simple elegant 25 man-machine interactive interface is a key technology which restricts the development of mobile terminals. Interactive interface directly affects the market share of mobile terminals.This paper describes the development of both the human-computer interaction and the mobile devices and summarizes the advantages and disadvantages of the current operating system for intelligent terminals. After that this paper analyzes the man-machine interface and interactive approaches for the
Android 30 platform. Then this paper elaborates implementation of the UI and interactive approaches mentioned above along with the key points of implementation. Keywords:man-machine interaction mobile terminal
Android platform smart phone 0 引言 35 随着人们对移动终端的期望越来越高仅仅能完成话音通讯、简单信息发送和管理的移 动终端开始失去市场。
包括多媒体、彩色动画和移动商务等在内的新的无线应用将对移动终 端提出更高的要求使移动终端从提供以话音为主的通信服务逐渐发展到以数据为主的通信 服务并对人们的工作、生活和通信产生重大影响。
用户通过人机交互来与移动终端进行信 息交换。
因此交互的体验度直接关系到系统的性能能否充分发挥能否使用户准确、高效、 40 轻松、愉快地操作对于系统至关重要1。
目前国内软件开发者在软件的设计过程中很注 重软件的开发技术及其所具有的业务功能而忽略了用户对人机交互的需求从而影响了软 件的易用性、友好性对界面设计的研究也集中在界面设计技术、设计手段上。
软件开发人 员在设计时以经验为参考依据缺乏对实际用户显示需求的了解。
要知道软件的友好性、 易用性同用户的“特征”紧密相联同样的软件界面不同用户可能有截然相反的评价。
因 作者简介郁亚男1986-女北京邮电大学研究生主要研究方向通信软件. E-mail: yyn110gmail.com 45 此分析用户的特征、了解用户的需求和操作习惯是开发软件界面的必要步骤必须引起足 够的重视2。
当前智能手机操作系统中所具有的人机交互功能多种多样有些还在实验室的研究阶 段。
华丽的手机界面已经是继手机外观、手机参数之后的第三大消费者购机关注话题。
消费 者在界面的选择过程中除了看中兼顾 UI 华丽度之外还要让使用过程中符合自己的日常 50 需求。
设计开发人员需要针对手机的定位和用户群来选择合适的交互方式保证功能上的适 用和价位的合理。
是否具有便利、简洁、美观的人机交互接口成为制约移动终端发展的关键。
在计算系统 人机交互已从早期的命令字符方式发展到现代的多媒体图形用户交互形式并成为自然人机 交互技术实现之前的一种过渡方式。
在移动终端的研发过程中人机交互接口MMI给进行 55 移动通信的人与手机提供了交往的界面它的设计优劣直接影响了手机销售市场的占有率。
1 移动终端人机交互 1.1 移动终端人机交互的发展 在上个世纪的八十年代末到九十年代初第一代模拟移动通信面试经营纯粹的话音业 务数据传输速率只有 96Kbps完成通讯功能和进行信息浏览分别要由两种不同的移动 60 终端来实现这两类终端的人机接口都很简单基本上是命令字符方式。
完成语音通信功能 的第一代手机“大哥大”如图 1 所示实现文本信息交互的 BP 机的如图 2 所示 图 1 第一代手机“大哥大” 图 2 BP 机 65 九十年代中期开始逐渐进入了第二代数字移动通信时代简称 2G经营以话音为主外 加数据传输的业务数据传输速率提高到了 144Kbps这时移动终端开始提供简单的应用 如电话薄、简单游戏、计算器、时钟等并出现通过手机等移动终端发送文本型消息的 SMS 服务Short Messaging Service短消息服务。
这个时期 Intemet 也进入了高速发展阶段不 70 断出现新的增值服务如网络传真、网络电话、电子邮件、电子商务、网络音乐、网络影视 等以数字移动电话为代表的移动终端由于内存小、微处理器运算能力低、显示屏幕小、键 盘按钮和无线接收天线频宽受限等不能享受 Intemet 带来的技术进步。
由于以上原因1997 年多家通信行业的跨国公司提出了 WAP 协议WIRELESS APPLICATION PROTOCOL 无线应用协议定义了一系列将互联网内容过滤和转化为适用移动通信的标准使 Web 75 服务器的内容以文本字符和静态图片的形式显示在移动终端上。
总之这个阶段的移动终端 上实现了命令语言加循环菜单的人机交互接口键盘、扬声器和单色 LCD 是主要的人机交 互设备如图 3 所示。
有些浏览信息为主的终端还增加了触摸屏声音、文本字符和静态单 色图片是人机交互活动中信息的主要载体。
80 图 3 2G 阶段的手机 随着中国 3G 牌照的发放TDCDMA/WCDMA/CDMA2000 技术投入商用中国通信业 正式进入 3G 时代。
随着无线通信网络传输速率的提高多媒体、彩色动画和移动商务等新 85 的无线应用成为现实。
在终端和终端、终端和 Intemet 之间传递文本、彩色图片、动画、声 音、音频、交互式视频等多媒体信息。
为了实现多媒体图形用户接口3G 移动终端如图 4 所示应至少提供大的彩色触摸屏、键盘、扬声器、麦克风、数码摄像头等。
90 图 4 3G 手机 此外针对嵌入式设备和消费类电器技术的推出使第三方软件商可以很容易地开发移 动终端的应用程序也使移动终端能以 C/S 或 B/S 方式直接访问 Internet 的全部信息。
移动 终端软件的体系结构由早期的功能驱动转变为现在通行的事件驱动机制人机交互进入了多 95 媒体互动形式。
图 5 展示来了用手指触摸事件来对文件进行选择的交互方式。
图 5 触摸屏的交互方式 100 105 110 115 120 125 1.2 移动终端人机交互的特点 智能手机必须要具备以下几个条件①拥有传统的普通手机的基本功能主要是指接打 电话和收发短信②拥有无线接人互联网的能力高端产品还应该支持 3G 网络③拥有 PDA 的主要功能。
主要有 PIM个人信息管理日程记事、任务安排、多媒体播放、浏览网页等 ④拥有一个开放性的操作系统。
这个操作系统上可以安装和应用互联网上提供的第三方应用 程序从而使手机的功能得到充分的延伸。
手机是一个技术关联度相当高的消费类电子产品它所应用到的不同类技术的快速发 展也迅速而深刻地影响着界面及其交互方式。
譬如数码拍照功能以前的手机就不具备拍 照的交互。
移动终端图形用户界面指一种图形方式的用户接口是图标、窗口及屏幕上其它 图形、图像的集合。
它们提供了用户与操作系统交互的办法从而简单方便地完成用户与应 用程序的交互。
就界面交互方式的发展趋势而言呈现出如下的几点 1. 可扩展性和可配置性 几乎每种嵌入式设计方案都具有各自不同的特点所以嵌入式图形用户界面足够灵活以 适应各种硬件设备而且在不同的嵌入式环境中应该仅仅包括那些必要的部分。
采用面向 对象的设计方法和可扩展的体系结构可以获得较好的可扩展性。
2. 资源使用的高效性 桌面的图形用户界面面向的是运行在高端处理器上、拥有巨大内存资源的系统。
而一个 嵌入式图形用户界面必须适应内存小、处理器能力差别大的系统环境。
3. 可定制性 由于嵌入式设备一般都是服务于某种专门的目的它们要求客户可定制的用户界面而 不是那种静态的、预定义的、无法满足特殊图形用户界面需求的观点图形用户界面的外观 和事件处理的方式等都应该能通过直观、简单的方法进行定制。
4. 国际化 嵌入式设备必须使用相同的基本设计以适应不同国家用户的需要。
关键在于图形用户界 面要有灵活的组件。
通过支持应用的本地化可以对用户界面上的文本以及各种数据和数字 格式进行翻译。
使用 UNICODE 的 16 位宽字符可以支持中文等亚洲字符。
5. 简单性 130 135 140 145 150 155 160 对嵌入式应用开发来说它具有严格的时间限制即要求尽可能短的面市时间。
使用面 向对象技术设计清晰直观的类派生关系更加容易让人理解。
提供可视化的图形应用程序 开发工具是一种广受用户欢迎的方式。
用户界面对于手机来说可谓是一个永恒的话题。
用户界面研发的目的是可以让用户在 任何环境下选择最舒适的输入方式。
科学实验室中的研究主题目前演进到了手势控制阶段 即人可以在不接触手机的情况下对手机进行控制和操作。
未来用户界面将会更加智能、更灵 动能自动适应用户的使用场景并针对不同的使用情境呈现不同的个性化特征使用户感 觉更方便、更易用通过改善用户体验来提高用户的满意度3。
1.3 移动终端人机交互设计原则 有自己特色的用户界面的设计和开发要遵循以用户为中心的概念让手机的使用更简 单、更直觉。
除了要细心观察消费者的生活点滴、认真倾听他们的需求外、并进一步与消费 者沟通、切实了解他们实际生活上所需的种种应用与服务。
用户消费界面的主要原则是个性 化、资讯的及时化和用意想不到的功能来使用户惊讶从而获得更好的用户体验。
要想实现以上几点我们在交互设计时应该遵循以下原则4 1. 关注用户 了解用户的年龄、技能、文化他们对应用的需求使用的设备何时何地如何使用设 备用户优先的设计心态 用户通常是任务导向的行为模式更早更频繁的由真实 用户来测试。
2. 显示正确的内容 最常用的操作需要最快被用户看到并且可用不太常用的功能可以放到菜单里面。
3. 给予用户适当的回馈 交互式的 UI 元素最少需要反映出 4 种不同的状态 默认禁用聚焦按下保证 操作的结果是清晰可见的多给予用户进度提示但是不要干扰他们当前的操作。
4. 有章可循的行为模式 行为模式遵循用户的期望正确的操作活动堆栈显示用户期望看到的信息和动作 使用合适的方式来加强功能可见性可点击的元素就应该看起来是可以点击的如果用户 完成一项任务需要复杂的操作重新思考设计。
5. 容忍错误 只允许有意义的操作适当禁用一些按钮尽量减少不可回退的操作允许回退undo 比使用确定对话框更好实际上应该尽量少用确定对话框它对用户是一种干扰。
2
Android 平台 2.1
Android 平台介绍
Android 一词的本义指“机器人”同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称该平台由操作系统、中间件、用户界面和应用软件 组成号称是首个为移动终端打造的真正开放和完整的移动软件。
Android 的最大优势就是 开放性。
终端机制造商可以像安装零配件一样随意将各种用户界面UI或软件装入 “
Android”这一共同的操作系统中而且谷歌不收取任何使用费5。
Android 作为 Google 企业战略的重要组成部分将进一步推进“随时随地为每个人提供 信息”这一企业目标的实现。
全球为数众多的移动电话用户正在使用各种基于
Android 的电 165 170 175 180 185 190 195 200 话。
谷歌的目标是让移动通讯不依赖于设备甚至平台。
出于这个目的
Android 将补充 而不会替代谷歌长期以来奉行的移动发展战略通过与全球各地的手机制造商和移动运营商 结成合作伙伴开发既有用又有吸引力的移动服务并推广这些产品。
2.2 与其它手机系统比较
Android 和 iPhone OS、Symbian 等系统或平台在商业运作上有很大的不同iPhone OS 只为苹果的 iPhone 所用并由苹果严格控制诺基亚、索爱各自运维着与自家硬件紧密结 合的 Symbian 版本
Android 则采用了联盟的方式几乎世界上所有的大厂商都加入了其 手机开放联盟。
Android 作为一个通用的手机平台整套平台是完全开源和免费的任何一 家厂商均可免费使用而 Mobile 是需要收取一定授权费用。
这也就是为什么
Android 市场 占有率在短时间内大大超过 Windows Mobile 的原因。
对于手机用户而言
Android 拥有应用程序 Market类似于 iPhone App StoreMarket 上有大量的应用程序
Android 手机可以通过网络在线安装且绝大部分应用程序免费并开 源这是 Market 优于 App Store 的地方。
通过以上分析对这几种手机开发平台的特点进行归 纳比较Symbian 的强势、Windows Mobile 的价格、iPhone 的封闭都是相比
Android 之下的 弱点。
从中国范围来看中国移动走在
Android 潮流的前列已经完成了
Android 定制还 开发了不少自有的中间件和应用为以后的业务预置铺垫了基础。
相信未来
Android 以其开 源、低价、易开发等特点必将在移动终端平台市场上占有一席之地基于以上原因本文采用 最新推出的
Android 做为人机交互研究的目标平台。
3
Android 平台的人机交互方式及其实现
Android 手机的交互模式多种多样为了贴合当前需求和科技发展本节分析设计了以 下方式实体按钮、键盘、屏幕手势、视觉反馈、声音反馈、触感反馈、方向变化以及状 态栏通知6。
下面选取两个比较新颖的代表了未来交互发展的两种方式来着重探讨它们是 触感反馈、运动感应。
3.1 触感反馈
Android 手机中长按操作通常提供了触感反馈。
当你长按某条目时手机会轻轻振动 一下然后显示长按的上下文菜单。
这一项功能受限于用户手机是否启用触感反馈。
另外 如果你的应用程序某个操作需要特别引起注意也可以使用触感反馈比如滚珠迷宫等游戏 使用触感反馈可以生动地模拟真实效果。
3.1.1 触感反馈的实现 开发者可以自己设置震动Vibration事件命令其震动的时间长短、震动事件的周期 等。
要让手机震动需创建 Vibrator 对象获取震动服务的实例句柄。
然后通过调用 vibrate 方法来达到震动的目的在 Vibrator 的构造器中有 4 个参数前 3 个的值是设置震动的大小 在这边可以把数值改成一大一小这样就可以明显感觉出震动的差异而最后一个值是设置 震动的时间。
当 repeat 0 时震动会一直持续若 repeat ??1 时震动只会出现一轮运 行完毕后就不会再有动作。
z 新建一个 Vibrator 对象的代码 mVibrator01VibratorgetApplication.getSystemService Service.VIBRATOR_SERVICE z 然后在触发震动的方法中设置震动参数就可以了 205 mVibrator01.vibrate new long100101001000-1 z 取消震动调用 cancel 方法 210 215 220 mVibrator01.cancel z 需要注意的是震动事件必须允许
Android.permission.VIBRATE 权限。
在 AndroidManifest.xml 中添加如下权限设置。
3.2 运动感应 新型的手机现在都加入了三维规则加速器accelerometer 所以手势、动作的检测也逐渐 成为移动应用开发的一部分。
用户随时可能旋转他的
Android 手机他们希望正在浏览的内容随之作出适当调整如 图 3-11 所示。
当然如果你的应用程序大部分不支持方向变化只有在特定的界面比如 播放全屏视频时并且仅以特定方向显示不响应设备方向的变化这也是合理的。
注意 方向变化最终在用户面前是否响应和声音、触感一样取决于用户终端的设置。
还可以通 过晃动程度的检测来让手机做一些事情比如摇一摇手机就可以切换程序。
或者想擦掉一副 画好的画 可以轻微摇一摇你的手机就可以擦掉画布里的图像了还有比较好玩的应用是 日程便签完成了的项目轻轻摇摇就自动删除了。
通过对运动方向和剧烈程度的感应应 用可以灵活地实现各种功能。
225 230 235 3.2.1 运动感应的实现
Android 中的很多游戏和应用都使用了重力感应的技术可以通过重力感应程度的检测 来让手机做一些事情比如摇一摇手机就可以切换程序或检测到晃动这个真实的动作屏 幕做出模拟的反应来非常有意思。
现在来实现通过晃动使屏幕在全屏和非全屏的切换。
Android 重力感应系统的坐标系以屏幕的左下方为原点箭头指向的方向为正。
从-10 到 10以浮点数为等级单位典型情形时三维的坐标值如下 当 xy0 时手机处于水平放置状态。
当 x0 并且 y0 时手机顶部的水平位置要大于底部也就是一般接听电话时手机 所处的状态。
当 x0 并且 y0 时手机右侧的水平位置要大于左侧也就是右侧被抬起。
当 y0 并且 x0 时手机屏幕朝上。
当 z 100 255 9. long diffTime curTime - lastUpdate 10. lastUpdate curTime 11. 12. x valuesSensorManager.DATA_X 13. y valuesSensorManager.DATA_Y 260 14. z valuesSensorManager.DATA_Z 15. 16. float speed Math.absxyz - last_x - last_y - last_z / diffTime 10000 17. 18. if speed SHAKE_THRESHOLD 265 19. Log.d”sensor” “shake detected w/ speed: ” speed 20. Toast.makeTextthis “shake detected w/ speed: ” speed Toast.LENGTH_SHORT.sho w 21. 22. last_x x 270 23. last_y y 24. last_z z 25. 26. 27. 275 280 设置这个 shake 的速度临界点值定义为 Java 代码 28. private static final int SHAKE_THRESHOLD 800 这样检测的实现就完成在开发中只需要将第 16、17 行中的内容修改为自己想做的 事情就好了。
4 结论 本章主要研究了介绍移动终端人机交互的发展和特点及其设计原则之后介绍了
Android 平台及其优势并在此基础上挑出两个较典型的交互方式给出了其在
Android 平台 上的实现。
285 参考文献 References 290 1 张庆丰/译. 人机交互第三版M. 北京电子工业出版社2007 2 孟祥旭李学庆. 人机交互技术原理与应用M. 北京清华大学出版社2004 3 董士海. 人机交互的进展及面临的挑战J. 计算机辅助设计与图形学学报200425145-47 4 百度用户.
Android_百度百科OL.http://baike.baidu.com/view/1241829.htm 5 Roger.
Android 优化 UI 秘籍OL.2009-10-3 http://
Android.google.org.cn 6 阿智.
Android 手机应用程序界面设计指南OL.2010-8-2. http://azero.tsang.blog.163.com/