1 智能手机Smartphone开发从零起步

来源:百度文库 编辑:神马文学网 时间:2024/04/27 00:07:34

智能手机Smartphone开发从零起步

2005-07-26 10:16作者:楚云风出处:天极网责任编辑:方舟
  本文从零开始讲述了进行smartphone开发的整个过程,通过本文的阅读,你可以从中获得:

  1、 安装smartphone的开发环境

  2、 配置smartphone的开发环境

  3、 配置模拟器。

  4、 连接模拟器到ActiveSync。

  5、 一个通用性好、扩展性强的smartphone编程框架。

  6、 在smartphone窗口中绘制文本,使用消息提示框等。

  7、 安装我们的smartphone程序。

  下面所有描述均以Microsoft smartphone 2003 简体中文版操作平台为例。

  安装开发环境

  目前有两种开发环境可供选择,一种基于C++,另一种则是基于.NET架构的VB.net和C#,鉴于C++的灵活,结构相对比较清晰(最重要的一点是我在C++下面的开发经验要比在VS.NET上多一些),在下面的例子本文将选用第一种方案。

  一、C++开发环境

  1、安装ActiveSync 3.7.1

  这个软件用于连接及同步桌面windows系统和smartphone设备,连接成功后,你会在桌面上看到一个smartphone设备的虚拟目录,你可以在桌面windows下对这个目录下的内容进行修改,所有的修改会同步更新到smartphone设备上。

  2、安装Microsoft eMbedded C++ 4.0 和Microsoft eMbedded C++ 4.0 SP3

  目前最新的有Microsoft eMbedded C++ 4.0 SP4,也可以安装。

  3、安装SDK for Windows Mobile? 2003-based Smartphones

  不用多说,所有smartphone相关的内容都由它提供。

  4、安装 Localized Emulation Images for Windows Mobile? 2003-based Smartphone

  对于Mobie设备开发而言,模拟器是非常重要的,它用来模拟真实的smartphone设备,让你能够在Windows桌面平台上调试验证你的程序而不需要连接到一个真实设备,在smartphone的sdk中已经包含了一个英文的模拟器,这里我们要安装的是一个简体中文的版本,安装文件是Smartphone 2003 SDK Chinese Simplified Emulation Images,它让我们可以在模拟器上显示中文内容。

  5、Windows Mobile Developer Power Toys for smartphone

  这里面提供了一些帮助你开发和调试的工具,常用的有"Emulator ActiveSync Connection Tool",可以让你连接ActiveSync到我们的模拟器,这样我们就可以在桌面端实时显示完整的目录结构;还有"ActiveSync Remote Display",一个有趣的工具,可以将你的smartphone显示屏幕同步显示在桌面窗口中。

  安装注意:

  进行安装时,1到3是必须安装的,并且,牢记不要改变1~3的顺序,也不能改变安装程序所指定的默认路径,否则一旦安装失败,你可能需要重新安装操作系统才能解决问题(痛苦呢),这主要是因为 "Microsoft Windows CE platform manager 4.0"不能被完全卸载的缘故。
建议你在安装了Microsoft eMbedded C++ 4.0后,马上启动它看一下,如果不能启动,就不用再向下进行了,不要使用Windows自带的卸载程序,到网上找比较强大的卸载工具来卸载eMbedded C++,然后重新安装即可。

  二、VB.net或C#开发环境

  1、安装ActiveSync 3.7.1

  2、安装VS.net 2003

  3、安装SDK for Windows Mobile? 2003-based Smartphones

  4、安装 Localized Emulation Images for Windows Mobile 2003-based Smartphone

  5、安装Windows Mobile Developer Power Toys for smartphone

  其中,1~3是必须安装的,4和5可选安装,原因前面已经说明了。

  因为下面配置开发环境我都是以C++环境而言的,因此,如果你使用VS.NET开发,你会发觉有些地方会有差异,但涉及的基本概念和原理都是一样的。

  对于VS.NET,你可以在 工具-〉选项-〉设备工具-〉设备里面发现并配置你的模拟器。祝你好运。

  配置开发环境

  1、配置模拟器

  1) 启动Microsoft eMbedded C++ 4.0

  2) 选择菜单tools->configure platform manager...

  在Smartphone 2003中新增加一个设备CHS_SMARTPHONE 2003 Emulator


  3) 选中新增的设备,点击properties…

  选择Transpor为"TCP/IP Transport for Windows CE";选择Startup为"Emulator Startup Server",如下:


  4) 配置Emulator Startup Server

  在Image中选择CHS Smartphone 2003(Virtual Radio),其余保持不变


  5) 返回Device Properties对话框,点击test

  如果配置正确的话,模拟器会被启动起来,如下:


  6) 模拟器配置完成。

  2、连接ActiveSync到模拟器

  配置好模拟器后,我们已经可以进行开发了,但因为只有ActiveSync能够展示出设备的目录结构,因此只有使ActiveSync连接了模拟器,那个模拟器在开发中才能够代替一台真正的smartphone手机。

  将ActiveSync连接到模拟器一共有两种办法,一种是通过串口进行环回,需要使用null modem cable连接,另一种是使用以太网卡的Virtual Switch服务,让ActiveSync以为模拟器是从以太网接口卡连接进来的真实设备,因为使用Virtual Switch速度快,也不需要硬件电缆,因此我们以这种连接方式为例。

  鉴于这一部分是个难点,在我们开发时,很多同事都碰到了配置不成功的情况,因此,此处将列出详细的步骤:

  1) virtual switch服务确认

  打开你的网络邻居,观察在"本地连接"的属性对话框,确认有如下服务:"virtual PC Emulated Ethernet Switch",这是你安装模拟器的时候安装程序自动帮你安装的,如果没有发现,请重新安装smartphone 2003 SDK。


  2) 配置模拟器使用virtual switch服务

  启动Microsoft eMbedded C++ 4.0,菜单tools->configure platform manager...->CHS_SMARTPHONE 2003 emulator->Emulator Startup Server:


  3) 配置你的ActiveSync能够通过以太网连接设备

  打开ActiveSync,菜单 文件-〉连接设置…,选择允许通过网络(以太网)以及远程访问服务器(RAS)与此台计算机建立连接。


  4) 启动模拟器

  注意,我们的中文模拟器需要从EC++内部启动,因为外部SDK菜单上的模拟器是安装SDK时默认安装的英文模拟器。

  5) 连接ActiveSync与模拟器

  1)、首先,进入SDK工具:


  2)、然后在命令行输入:

emuascfg /sp "smartphone 2003" "chs_smartphone 2003 emulartor"

  其中"smartphone 2003"是操作平台名,"chs_smartphone 2003 emulartor"是设备/模拟器名。等待运行结束后,关闭命令窗口。

  6) 进入模拟器,打开ActiveSync程序,选择同步


  这时,你能看到你安装的ActiveSync在任务栏有了反应,最终,模拟器上显示已连接。

  结束

  此时,模拟器可以通过以太网接口利用virtual switch服务连接到ActiveSync上去了。

  我们可以把这个模拟器当作一个真的设备对待,可以给它安装各种软件,可以给它定义安装主屏幕等等,对于开发来说,我们可以使用ActiveSync的浏览功能看到smartphone的目录结构,在开发涉及到文件改变的程序时非常有帮助。