主页> 常见问题> 基于Smartphone 的嵌入式应用程序开发初探

基于Smartphone 的嵌入式应用程序开发初探

阅读: 常见问题
2006 年第9 期福建电脑
( 下转第139 页)
基于Smartphone 的嵌入式应用程序开发初探
宋晏
(华南热带农业大学机电与信息工程学院海南儋州571737)
【摘要】: 智能手机发展迅速, 基于智能手机的应用程序开发也逐渐多起来, 本文主要介绍Microsoft 的Smartphone 智
能手机平台, 以及基于此平台使用Visual Studio .NET 进行应用程序的开发的方法。
【关键词】: 嵌入式; 智能手机;Windows Mobile; Smartphone
0. 前言
随着通信技术与信息产业地不断发展, 现在的手机已经不
再只是功能单一的语音通话, 多媒体短信、听音乐、玩游戏、上
网、拍照、录像等更为高级的功能已经在手机上大行其道。在众
多手机之中, 智能手机以其强大的功能和方便快捷的操作越来
越受到广大用户、特别是商务人士的喜爱。
智能手机的迅速发展, 表明了消费市场的不断扩大, 就需要
更多基于智能手机的应用程序, 这就意味着广大的程序员有了
一个新的选择, 就是基于智能手机的嵌入式应用程序开发。
1. Smartphone 简介
近几年来, 智能手机的发展日趋完善, 智能手机操作系统也
日渐成熟, 现在的智能手机操作系统有Sybian、Palm、Linux、
Windows Mobile 四种, 本文所要介绍的Smartphone 便是Windows
Mobile 的成员之一。
Smartphone 是Microsoft 为积极拓展智能移动通信市场, 继
Pocket PC Phone Edition 之后在2002 年推出的新一代智能手机
操作系统平台, 是Windows Mobile 家族的又一新成员。简单地
说, 只要是使用Smartphone 平台的手机就是一部智能手机, 这样
一部手机首先应具备语音通信及短信收发等普通手机所拥有的
全部功能, 同时又将PDA( 个人数字助理) 所具有的功能有机地
结合起来, 使之可以实现诸如电子邮件收发、个人信息管理、
Web 页面访问、服务器- 客户端无线数据交换等高级功能。
Smartphone 平台与Pocket PC 平台一样, 其核心都是基于
Microsoft Windows CE 操作系统, 并且系统本身已经包括了很多
与Pocket PC 相同核心的应用程序, 如电子邮件、日程管理、
Windows Media Player、Internet Explorer、MSN Messenger 等。
Smartphone 旨在方便用户单手操作, 放弃了触摸笔, 程序由
按键来导航, 控制键也与普通手机有所不同。Microsoft 规定, 使
用Smartphone 的手机必须具备以下9 个程序控制按键( 当然, 因
为各手机厂家设计风格不同, 按键的位置形状可以由厂家自行
设置) :
(1) 五向控制键: 上、下、左、右四个方向键和中间的"执行"
键, "执行"键相当于PC 机上的回车键, 用来执行当前所选操作。
(2) 主页键: 用来返回手机的主屏幕, 主屏幕相当于PC 机上
Windows 的桌面。
(3) 后退键: 用来返回上一个屏幕状态, 输入文字时作删除
键。
(4) 多功能键: 左右两个多功能键, 常被称为左右"软"键, 由
于在不同情况下, 功能会动态发生变化, 须执行的操作通常在手
机屏幕底部显示, 比如应用程序中的的左右两个菜单的操作即
需要使用这两个键。
在应用程序的开发过程中, 要充分考虑到这些控制键的使
用。
2. Smartphone 开发工具与平台搭建
现在可用于Smartphone 应用程序开发的工具有两种, 一种
是Microsoft Visual Studio .NET, 主要使用其中的Visual Basic .
Net 和C#; 另一种是Microsoft eMbedded Visual 工具, 主要是使
用其中的eMbedded Visual C++。
在这里主要介绍一下Visual Studio .NET 开发环境的安装:
(1) 安装Visual Studio .NET
这是编写程序的主要工具
(2) 安装SDK for Windows Mobile 2003- based Smartphones
提供Smartphone 软件开发的相关内容, 例如开发文档、帮助等
等, 其中包括一个Smartphone 英文版模拟器
(3) 安装Emulator Images for Windows Mobile 2003 - based
Smartphone Development
如果要使用中文版的模拟器, 就需要安装这个
(4) 安装Microsoft ActiveSync 3.8 - Simplified Chinese
这个软件是用来连接PC 与Smartphone 手机的同步软件,
要将编写的程序打包安装到手机时需要用到它
注意前3 项的安装顺序不能改变, 最好也不要改变安装程
序的默认路径, 否则开发环境可能不能正常工作。eMbedded
Visual C++ 4.0 开发环境的安装类似, 只要把第一步安装Visual
Studio .NET 更改为安装eMbedded Visual C++ 4.0 就可以了。
3. 一个简单的开发实例- Hello World
下面具体介绍用Visual Studio .NET 开发一个Smartphone
应用程序的步骤:
(1) 打开Visual Studio .NET 2003, 新建项目, "项目类型"选
择"Visual Basic 项目", "模板"选择"智能设备应用程序"; 设置好
程序名称和存储位置后点击确定。
(2) 进入"智能设备应
用程序向导", 如图1。从
选择平台这里可以看到,
Visual Studio .NET 2003
能够支持Pocket PC、Windows
CE 和Smartphone 三
种平台的嵌入式应用程序
开发; 选择"Smartphone";
项目类型选择"Windows
应用程序"。
(3) 点击确定后进入Visual Basic .
Net 的程序开发界面, 不管是使用VB 还
是VB.NET 的程序员, 对这个界面都应
该很熟悉。在窗体上加入标签Label1,
其Text 属性设置为"Hello World! "; 再
添加菜单MainMenu1, 设置MenuItem1
的Text 属性为" 退出"、MenuItem2 的
Text 属性为"关于"。需要注意的是, 由于
Smartphone 手机屏幕大小的限制, 程序
界面与PC 机上的Windows 程序界面上
会有所不同, Smartphone 程序的菜单位
于窗体的底部, 并且一级菜单最多只能有两项。如图2:
(4) 进入代码窗口, 在"Windows Form Designer generated
code"后面添加如下代码:
Private Sub MenuItem1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MenuItem1.Click
Close()
图1
图2
119
2006 年第9 期福建电脑
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
( 上接第119 页)
End Sub
Private Sub MenuItem2_Click(ByVal sender As System.Object, _
ByVal e As _ System.EventArgs) Handles MenuItem2.Click
MsgBox("作者: 宋晏", MsgBoxStyle.Information, "关于")
End Sub
(5) 现在即完成了程序的编写, 按F5 运行程序, 此时会弹出
一个设置部署选项的窗口, 建议选择"CHS Smartphone 2003
(Virtual Radio) - SDK Emulator", 然后点击"部署"按钮。
(6) 点击" 部署" 按钮后VS.Net 将自动打开并连接Smartphone
模拟器, 并且将编好
的程序加载到模拟器上运
行, 运行界面如图3:
如果在第(5)步部署时
选择"Smartphone Device",
程序就可以直接在Smartphone
手机上进行调试和
运行, 前提是要用数据线
将手机连接到PC 上。
程序调试运行成功后即可打包, 并通过数据线用同步软件Microsoft
ActiveSync 3.8 传送到Smartphone 手机上安装使用。
4. 结束语
本文主要介绍的是使用Visual Basic .NET 来编写Smartphone
应用程序, 相对于使用eMbedded Visual C++ 编程来说,
使用Visual Basic 编写的程序执行效率较低, 但是由于Visual
Basic 较易入门, 程序的编写效率较高, 比较适合嵌入式应用开
发的初学者或编写入门程序使用。相信随着智能手机的不断发
展, 会有更多程序员投入到智能手机的嵌入式应用程序开发中
来。
参考文献:
1. Terence Finan,为Microsoft Smartphone 开发应用程序,Microsoft
MSDN,2002
2. 楚云风,智能手机Smartphone 开发从零起步,天极网,2005
3. 楚云风,智能手机Smartphone 开发导语,天极网,2005
图3
识、难度等级、分值、试题类型、题目、参考答案等部分, 其中课程
代码表示试题所属的课程, 知识点代码表示试题所属知识点, 组
卷标识用于表示该道试题是否在组卷过程中被选中, 难度等级
表示该试题的难度划分, 分值表示该试题的分值数量, 试题类型
表示该试题所属题型, 题目用于存储试题本身, 参考答案用于存
储该试题的评分参考答案或评分要点。
一个题库由大量试题组成, 试题的好坏决定了题库的好坏。
因此设计编写试题就显得很重要。一般来说, 设计编写试题时应
遵循以下原则: 试题的组织与编写必须以考试科目的知识点结
构为依据, 在按考试科目知识点结构组织试题时, 还需注意各个
考试科目知识点结构的区别, 因为有些考试科目知识点之间逻
辑性不强, 而有些科目知识点之间具有严密的逻辑性; 试题数量
要足够多, 在各指标属性区间内均衡分布, 核心属性有知识点、
难度与认知分类, 以这三个属性为核心, 形成三维立体交叉网
络, 网络上的每个交叉结点上都有合理的试题量, 在保证这个核
心结构的基础上, 还应注意试题在题型和区分度上的合理分布,
要处于基本的均衡状态; 试题内容要科学, 不能有任何错误, 无
歧义性, 表述简单明确, 无关联性, 试题之间不能有相互提示, 不
能相互矛盾。
4.2 评分系统
评分系统是整个网络考试系统中最复杂、最麻烦的一个模
块。要正确评分, 必须把相应的文档格式了解清楚, 而有的应用
程序, 如Word、Excel 等生成的文档格式非常复杂, 短时间内少
量的人力和物力是不容易弄清楚的。为此, 对于全是客观型试题
的考试, 评分系统将逐一对比该题考生的答案与评分参考答案,
相同者加分, 分值根据评分标准确定; 对于含有主观型试题的考
试, 考试系统不完全采用机器评分, 而是采用人工参与评分的方
式。主观试题评分时, 调出考生答卷, 答卷上应该有的信息包括:
该道试题、考生答案、评分参考答案及评分要点, 得分栏, 由人工
根据评分要点评分, 然后直接将考生该试题的得分填入得分栏
内。
4.3 组卷过程
组卷过程是网络考试系统中很重要的一个部分。组卷过程
完全根据组卷规则中给出的有关要求来完成。组卷规则中设计
有一个规则库, 其中要给出一套试卷中所需的各种试题的类型、
各种试题类型所包含的题量数目。组卷过程中, 首先顺序搜索试
题类型, 确定第一个类型, 然后, 根据该类型所需试题数量产生
随机数, 随机抽取试题, 各种类型试题逐次完成抽取工作, 抽取
的试题放入考生试卷库中, 抽取完整试卷后, 进入考试界面参加
考试。
4.4 考试界面
考生进入考试界面开始考试后, 计时器就开始计时, 到了考
试结束时间, 系统自动锁定并保存所有考生答案停止考试。考试
过程中, 试题内容及答题空间在同一屏幕显示, 窗口具有滚动
条, 可上下滚动, 屏幕上应该放有一行命令按钮, 分别为上一题、
下一题, 直接到第一题、直接到最后一题、按要求查询试题、保存
答案、结束考试等。考试结束自动锁定并保存所有考生的答案停
止考试。
4.5 系统运行环境
Windows98 或Windows NT 平台
5. 结束语
本系统客观题部分已经基本建成, 正在试运行阶段, 系统基
本的功能都已经具备, 但在以下几个方面, 仍然需要做进一步的
研究和开发。
系统应该逐步实现自适应考试。考试的目的应该是充分地
检验考生的真实水平, 而不是用一份固定的考卷来裁定所有人
的能力。自适应考试根据每个考生的不同情况, 用几组不同的试
题来测量学生能力水平的考试。自适应考试以考生作为对象, 根
据不同考生在考试过程中所反映出来的能力和水平, 动态地调
整相应考生的试题难度, 这样能更充分地检验考生真实能力。当
然要实现自适应考试, 必须能够即时地对考生答案进行评判, 记
录考生答题情况, 以掌握考生的水平, 而且还必须拥有足够大和
难度分布相对平均的题库, 以便能够动态地从题库中选择合适
的考题给考生。
系统目前只有考生成绩和知识点方面的统计分析功能, 以
后还应增加对题库及试题方面的统计分析功能。如题目按课程
的数量统计、题目按知识点数量统计、课程可用题目数量统计分
析、某区间试题使用频率、试题优先使用频度分析等等。通过分
析题库及试题来发现题库中所存在的问题, 从而改进题库, 使得
题库更加具有科学性和有效性。
系统还有许多需要加强和改进的地方, 比如, 系统的容错能
力的提高、数据库及表结构的优化等等。
参考文献:
1. 李俊等. 基于ASP 的在线考试系统的设计与实现. 电脑与信息技术,
2005,(2): 60- 62.
2. 郑人杰等.实用软件工程( 第二版) ,清华大学出版社, 2000, 1.
3. 张海藩.软件工程导论( 第三版) , 清华大学出版社, 1999, 2.
4. 张江等.通用考试系统的设计与实现,电子科技大学学报.2001.30( 2) :
157- 161.
5. 蒋理.网络考试系统设计.微机发展.2000( 6) : 71- 72.
6. 唐俊武,南理勇等.在线考试系统开发中的几个问题及解决方法.计算
机与数字工程,2005,(8): 144- 147.
139

【温馨提示】倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至55506560@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于本站观点。用户与作者的任何交易与本站无关,请知悉。

客服
套餐咨询,操作答疑等
在线客服