`
weimou66
  • 浏览: 1249530 次
文章分类
社区版块
存档分类
最新评论

Smartphone平台开发技术

 
阅读更多
Smartphone是一个非常强大的开发平台,由于它的外形非常紧凑,在设计用户界面时你必须小心。Smartphone用户界面优化为易于单手操作,因此它不支持触摸屛。如果你在开发应用程序用户界面,一定要注意单手使用的情况。

基本需求

· eMbedded Visual Tools 3.0

· eMbedded Visual C++ 3.0

· Smartphone 2002 SDK

Pocket PC开发者需了解的信息

Smartphone屏幕大小为176x220象素——比Pocket PC的屏幕小。Smartphone优化为单手操作,表现为部分通用窗体控件无效。Smartphone也不支持触摸屛或类似鼠标的行为,将所有的交互限制在使用键盘和光标移动。为此微软提供了一些更适合单手操作的强大的控件。

为Smartphone优化的控件

Listview(列表视图)

Listview用全屏幕代替了原来作为对话框的一部分。没有必要选择列表视图中的项,因为光标键在控件间移动,而不在控件之内。当列表视图有焦点时如果用户点击了Action按钮,列表视图将填满屏幕。

Combo and List Boxes(复合和列表框)

Smartphone不支持List和Combo Boxes,也不支持OpenDialog/SaveDialog和"Commdlg.h"定义的部件。这些通用对话框都是大屏幕环境建立的。此外,在Smartphone上,用户不是直接暴露到文件系统,而是通过应用程序选择文件。作为OpenDialog的代替,你可以使用应用程序提供的所有文件填充一个列表视图,让用户选择一个。

Tabs和Property Boxes(页面和属性框)

使用新自定义功能键(SoftKey),你可以建立看起来象Pocket PC上的tab相似的用户界面。限制为只有两个键,Smartphone用户界面设计样式指导规定SoftKey 1为“OK”(或者其它正面的选择,例如"Yes"、"Done"或者"New"),SoftKey 2为"Cancel"(或者反面选择,例如"No"或者进一步的操作)。大多数微软应用程序使用它操作主菜单。

Sliders和Horizontal Scrollbars(滑动条和垂直滚动条)

没有输入方法来移动slider或者scrollbar,因为这要求按下按键同时移动它。但是将对话框样式设置为"垂直滚动"将可以操作。而且,如果你在屏幕下方移动光标并且对话框上有控件,屏幕将自动滚动。垂直滚动条更象一个可视屏幕空间的指示器,而不象用户操作控件。

Treeview(树视图)

Treeview要求大量的屏幕实际状态,作为层次数据的构造选择器。例如,全屏树视图可用于选择消息应用程序的文件夹。一旦文件夹被选中你能够释放全屏树视图并显示文件内容。

可用的新控件

Spinner Control

Spinner control打算代替所有combo box、list box和list view。它基本上是一个通常的带左右按钮的编辑框。

用户可以左右移动光标在spinner编辑框中选择不同的输入。如果用户按下Action按钮,一个全屏幕列表和所有项将显示出来,用户能够再次使用Action按钮选择一个项。几乎所有Smartphone应用程序使用该控件。

EVC资源编辑器不能识别该控件,因此你得用文本模式编辑源RC文件。下面的例子显示了控件怎样被插入资源文件:

<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code>LISTBOX  IDC_YOURNAME,5,30,90,10,NOT LBS_NOTIFY | LBS_SORT |
         LBS_NOINTEGRALHEIGHT | NOT WS_BORDER | WS_TABSTOP
CONTROL  "",IDS_UPDOWN,"msctls_updown32",UDS_SETBUDDYINT |
         UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS |
         UDS_HORZ | 0x200,0,0,0,0




图1.红圈显示为Spinner控件

Full screen Multi Line Edit(全屏幕多行编辑框)

该控件是一个编辑控件,如果被选中时用户点击Action按钮,它激活全屏幕"记事本"。该控件用于长文本,你如电子邮件正文或记录。

一般指导方针

为了设计有效的用户界面,你必须遵循一个过程来优化设计结果:

第一步:检查应用程序或者Pocket PC的当前用户界面

· 查找所有不必要的界面元素并删除它们。

· 查找所有不支持的元素并删除它们或者用Smartphone元素代替。

· 试图避免可弹出对话框的对话框。

第二步:一层叠着一层地放置界面元素,代替原来地一个挨着一个。

· 在顶层元素上方使用说明标签代替在左边或者右边使用(见图2、图3)。

· 可以有长对话框,因为它们会自动滚动。



图2: Pocket PC用户界面



图3:Smartphone用户界面

第三步:查找所有通用对话框并删除它们。如果应用程序要求用户选择一个文件,通过下面的方法实现:

· 将文件存储在"/My Documents"中。

· 将所有文件的列表载入一个Spinner控件。

· 显示该Spinner控件而不是通用对话框。

第四步:将菜单数量减少到一个,菜单项将少到4到8个。

第五步:定义自定义功能键(SoftKey)。

如果你有菜单,使用SoftKey 2。否则使用下面的方针:对"OK"或者其它正面选择使用SoftKey 1,对"Cancel"或者其它反面选择、进一步的选择使用SoftKey 2。

第六步:用单手测试应用程序。

强迫自己使用单手操作(即使在模拟器上)以确保它符合用户需要。

结论

通常在模拟器中测试用户界面。因为模拟器支持触摸,你也许有兴趣为它开发一个应用程序,但是在终端设备中是不支持触摸屛的。如果你为Smartphone优化了应用程序用户界面,应用程序将被广泛的接受,即使在没有经验的用户群中。在设计和建立用户界面时要重点强调使用的简便。
分享到:
评论

相关推荐

    02_嵌入式系统开发圣经(第一版)高清pdf版

    ◆嵌入式系统软件开发技术要诀 ◆移动信息设备的产品介绍与分析 ◆剖析Java在未来无线通讯产品上的相关技术 ◆Java Phone与J2EE平台技术 ◆日本 DoCoMo iMode无线网络内容服务与软件开发 ◆嵌入式Linux的组态与实作

    如何为MicrosoftSmartphone开发应用程序

    移动应用开发涉及到许多的平台和技术 本期 的 来吧 移动开 发 特别策划除报道外 我们还在这众多涌动的技 , , 以 目 术浪花中采撷 了两个具有代表性的平台上的相关应用的开发技术 飨读者 以帮助普通的程序 ...

    基于C#的Windows CE程序开发实例教程

    本书以C#语言、Visual 2003为开发环境,深入介绍了Windows CE应用程序开发的实用技术。本书分为基础篇和应用篇两部分。基础篇主要介绍了Windows CE概述、C#程序设计基础、XML基础、SQL CE数据库。应用篇主要通过4个...

    基于C#的Windows CE程序开发实例教程.z01

    本书以C#语言、Visual Studio.NET 2003为开发环境,深入介绍了 Windows CE应用程序开发的实用技术。本书分为基础篇和应用篇两部分。基础篇主要介绍了Windows CE概述、C#程序设计基础、XML基础、SQL CE数据库。应用篇...

    嵌入式系统/ARM技术中的WinCE设计开发常见问题的解决以及开发特性及忠告

    在智能手机领域被大多数手机厂商支持的J2ME无疑是领头羊,微软CE平台的SmartPhone也逐渐成为关注焦点。一直不温不火的PDA市场,也在行业应用领域有所收获,Pocket PC由于其开发与Windows平台的一致性而得到了开发...

    基于移动设备的Mobile SVG的研究

     Mobile SVG是由W3C组织的SVG工作组专门针对PDA,SmartPhone这类移动设备基于XML技术规范所开发的一种开放标准的移动矢量图形技术规范。典型移动设备的计算能力和内存容量是有限的,创建了Mobile SVG文档时最小化绘制...

    优拓安卓市场智能机建站系统 v1.2

    该产品降低了安卓平台软件开发的门槛,并通过云技术减少了运营维护的所需投入的人力资源成本。优拓安卓应用商店整体解决方案必将成为无线互联网进入SmartPhone时代的重要里程碑。 多套模板随时切换,满足了几乎...

    嵌入式系统/ARM技术中的基于Qtopia的嵌入式Linux俄文解决方案

    Qtopia是Trollteeh面向嵌入式Linux的综合应用平台,它是基于Qt的嵌入式版本Qt/Embedded库的基础上,专门针对PDA,SmartPhone这类运行嵌入式Linux的移动计算设备和手持设备所开发的一套开放源码的应用程序包和开发库...

    Hyperdroid-Virtual-Smartphone-over-IP:通过VNC客户端利用云计算和控制设备的计算能力。 它以FCFS方式从云中分配android x86虚拟机。 此外,它还针对虚拟机对移动设备的功能进行了基准测试

    现有智能手机技术的另一个显着缺点是智能手机性能带来的限制。 对其进行的分析证明,处理的一小部分是由CPU和GPU渲染GUI引起的。 虽然大多数仍保留在CPU和GPU上运行的应用程序的数学计算中。 从以上限制可以推断出...

    优拓安卓市场CMS建站系统 v1.2

    该产品降低了安卓平台软件开发的门槛,并通过云技术减少了运营维护的所需投入的人力资源成本。优拓安卓应用商店整体解决方案必将成为无线互联网进入SmartPhone时代的重要里程碑。  多套模板随时切换,满足了几乎...

    WTL 9.1 5270 Beta 中文 汉化 中英文对照版

    这些类并未使用hooks(钩子程序)或线程本地存储技术,所以没有植入技术改进的限制。它们也不存在内部依赖性,可以自由地和SDK代码一起混合使用。总之,WTL提供最小最高效的代码,非常接近SDK的体积和速度,同时为...

    优拓(UUDEV)智能机建站系统 1.2.0.zip

    该产品降低了安卓平台软件开发的门槛,并通过云技术减少了运营维护的所需投入的人力资源成本。优拓智能机建站系统必将成为无线互联网进入SmartPhone时代的重要里程碑。 优拓(UUDEV)智能机建站系统 1.2.0 更新...

    CARMAGEDDON:敏捷的Arduino汽车-项目开发

    使用蓝牙技术通过智能手机控制的简单易组装的汽车。

    应用获利和物联网–当前趋势-研究论文

    如果您是个人自由开发人员,初创公司,跨国公司或其他任何人,则可以通过自己的应用获利来获得收益。 大多数流行的应用程序都使用货币化作为广告模型。 大多数游戏应用程序都使用Freemium模型来生成货币。 该应用...

    基于物联网的水上监控机器人-研究论文

    由于大多数水体的环境对人类不友好,大多数时间水下机器人非常昂贵,因此迄今为止开发了多种类型的水下机器人,使用不同的技术来探索水面下的世界. 拟议的论文叙述了一个廉价的基于物联网的水下监视机器人的构建和...

Global site tag (gtag.js) - Google Analytics