现在让我们来编写第一个Widget程序!Widget程序的编写比较简单,包括下面两个步骤:
创建Widget工程
"Hello, Widget!"工程的创建比较简单,整个创建过程分为3步:
- 打开菜单项:File > New > Project,弹出Project的对话框
- 设置Project的属性,包括工程名等
- 编辑自动生成的代码
下面我们将对工程的创建过程进行详细的说明:
- 创建新的Widget工程
打开Eclipse, 选中菜单: File > New > Project 。如果你的Eclipse已经安装了WDT插件,你会在Wizards列表中发现"Widget"选项。

选中“Widget Project”,点击“Next”
- 设置Project的属性
在弹出的对话框中设置Widget工程的属性:

下面对工程属性进行简单的说明:
Project Name 工程名,在Eclipse中,这是工程的标识。当新创建工程时,该名字和工程目录名是一致的。 Contents 在这里,你可以选择创建工程的方式:创建新工程,或者在原有代码的基础上创建工程。 Use default location 这个选项用来设定新创建工程的保存位置,可以在缺省的目录下创建工程,或者在自定义的目录下创建工程。 - 编辑自动产生的代码
点击Finish后,你就创建了一个Widget工程,从左边的Package Explorer中,你可以查看自动产生的源文件,如下图:
新创建的Widget项目中包含如下源文件:现在可以在模拟器中运行新创建的Widget程序了。- HelloWidget.html
- 运行widget程序的HTML网页文件,它把JavaScript文件,CSS文件等组织在一起。
- HelloWidget.js
- JavaScript语言编写的应用程序文件,在这个文件中,实现了Widget的程序逻辑。
- HelloWidget.css
- 在这个文件中定义Widget的样式。
- config.xml
- 包含了widget属性信息的配置文件。
- Default.png
- Widget运行时加载显示的背景图片。
- Icon.png
- Widget程序图标。当安装该Widget后,这个图标将会被显示在Widget程序列表中。
- HelloWidget.wgt
- Widget工程编译生成的Widget程序文件,这个文件将会被部署到手机或者模拟器当中。
- HelloWidget.html
运行HelloWidget
首先,选择在工具栏中点击Run > Open Run Dialog 菜单项,(如果是Eclipse 3.4,请选择Run > Run Configurations). 将会打开如下对话框:

在配置列表中找到"Widget Application"项,选中它。点击左上角的创建新的配置的图标(右上角的那个带+号的小图标)或者双击"Widget Application"项,将会产生一个新的配置,名字叫“New_configuration”,具体参照下图:

修改“New_configuration”的属性,例如改一个有意义的名字,如"Hello, Widget",然后点击Browse按钮,为该配置选择一个关联的Widget项目,这里我们选择 "HelloWidget"。
关联某个Widget项目后,点击"Apply" 按钮保存配置,窗口将会显示如下:

然后,点击Run按钮,OPhone的模拟器将会被启动,同时这里创建的Widget程序在模拟器中被安装运行。下面是Widget程序在模拟器中运行的结果:

在后续的编译调试过程中,你可以通过右键弹出菜单来直接运行Widget程序:在Package Explorer选中Widget工程,点击右键,在弹出菜单中选择Run as,点击 "Widget Application",具体操作如下图:

在Eclipse输出控制台中,你可以看到Widget运行时的log信息,这些信息如下:
[2009-05-10 21:42:39 - HelloWidget] ------------------------------ [2009-05-10 21:42:39 - HelloWidget] Widget Launch! [2009-05-10 21:42:39 - HelloWidget] Automatic Target Mode: launching new emulator. [2009-05-10 21:42:39 - HelloWidget] Launching a new emulator. [2009-05-10 21:43:28 - HelloWidget] HOME is up on device 'emulator-5554' [2009-05-10 21:43:28 - HelloWidget] Uploading HelloWidget.wgt onto device 'emulator-5554' [2009-05-10 21:43:31 - HelloWidget] ActivityManager: Broadcasting Intent




