手机UI设计发展趋势
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当前移动设备已经成为人们生活的必需品之一,移动设备的用户界面及体验将越来越受用户关注。本文介绍了当前手机界面的现状及发展变化的趋势,分析了影响未来手机用户界面的可能技术,并结合未来人机交互技术的走向对未来的手机界面的发展做了展望。未来手机的界面将会以自适应的智能界面及多通道的人机界面占据主导地位。
1.手机的发展趋势
2009年全球手机业出现负增长,但是智能手机今年的销售量将超过1.9亿部,比去年增长11.1%。正当苹果公司与谷歌和RIM(黑莓)公司就各自的智能手机操作系统孰优孰劣大打口水战之际,智能手机领域的前任霸主——塞班(Symbian)系统,却陷入沉默。据记者了解,目前安卓(Android)系统手机和苹果iPhone在全球高歌猛进,微软公司Windows Phone7亦开始大规模推出新品,而塞班(Symbian)系统
却日益陷入孤立的局面。有分析认为,除非加强同PC
以及互联网的交互及扩展性,否则塞班系统难以改变被历史淘汰的命运。据市场研究公司Strategy Analytics称,在运营商、厂商和开发商推动应用的大力支持下,2009年运行Android操作系统的智能手机出货量将增长900%,苹果iPhone操作系统将是2009年增长速度第二快的智能手机操作系统,增长率将达到79%。从中可以看出,随着智能手机价格的进一步下降,用户将对智能手机的需求大大增强,智能手机将是未来手机发展的主要方向。未来手机的处理速度将进一步提高,手机的功能更多样化与个性化,手机屏幕将更大、色彩更加炫丽,手机音质也更好。同时,各种不同类型的传感器的使用,手机将会更智能的判断手机的所处的环境信息,所有这些技术的利用都极大的提高了手机的用户体验。
随着移动通信技术的快速发展,无线网络带宽越来越大,通信质量越来越好,安全性得到更大的提高,手机应用将会得到更加蓬勃的发展,移动互联网业务更催生了手机与PC的融合,这也将会影响未来手机界面发展。
2.当前手机界面的现状
当前的手机根据交互的形式可以分为触摸屏手机与键盘手机。两者在交互和界面设计上存在着较大的差异。
Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用安卓(非官方)或安致(官方)。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2011年11月数据,Android占据全球智能手机操作系统市场52.5%
的份额,中国市场占有率为58%
系统架构
Android是以Linux为核心的手机操作平台,作为一款开放式操作系统,随着Android 的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开发式操作系统。在Android中,开发者可以使用Java作为编程语言来开发应用程序,也可以通过NDK使用C/C++作为编程语言来开发应用程序,也可使用SL4A来使用其他各种脚本语言进行编程(如:python、lua、tcl、php等等),还有其他诸如:Qt(qt for android)、Mono(mono for android)等一些著名编程框架也开始支持Android编程,甚至通过MonoDroid,开发者还可以使用C#作为编程语言来开发应用程序。另外,谷歌还在2009年特别发布了针对初学者的Android Simple语言,该语言类似Basic语言。而在网页编程语言方面,JavaScript,ajax,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等都已经支持Android开发。而在Android系统底层方面,Android使用C/C++作为开发语言。应用程序(部分)
Java开发方面Android支持使用Java作为编程语言来开发应用程序,而Android 的Java开发方面从接口到功能,都有层出不穷的变化。考虑到Java虚拟机的效率和资源占用,谷歌重新设计了Android的Java,以便能提高效率和减少资源占用,因而与J2ME等不同。Android结构
其中Activity等同于J2ME的MIDlet,一个Activity 类(Class)负责创建视窗(Windows),一个活动中的Activity就是在foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。如果运行中的Activity 全部画面被其他Activity 取代时,该Activity 便被停止(Stopped),甚至被系统清除(Kill)。View等同于J2ME的Displayable,程序人员可以通过View 类与“XML layout”档将UI放置在视窗上,Android 1.5的版本可以利用View 打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的Android Hero手机即含有大量的widget。至于ViewGroup 是各种layout 的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity 中,要通过findViewById()来从XML 中取得View,Android的View类的显示很大程度上是从XML中读取的。View 与事件(event)息息相关,两者之间通过Listener 结合在一起,每一个View都可以注册一个event listener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。另外还有Image等同于J2ME的BitMap。C/C++开发方面早期的Android开发只支持Java作为编程语言开发应用程序,因而使得其他语言开发者只能望而却步。2010年4月,谷歌正式对开发者发布了Android NDK,NDK允许开发者使用C/C++作为编程语言来为Android开发应用程序,初版的NDK使得开发者看到了C/C++在Android开发中的希望。但是,当前版本的NDK在功能上还有很多局限性:NDK并没有提供对应用程序生命周期