本文档提供了编程、调试和托管小工具的一般准则。
目录
-
编程和调试提示
-
从基本框架开始
-
研究现有小工具
-
使用 Firefox JavaScript
控制台
-
确认您的假设
-
其他工具
-
通过 Google 小工具编辑器进行托管
-
文件菜单命令
-
通过 GGE 发布您的小工具
-
在 Google 代码上进行托管
-
创建新项目
-
校验项目
-
上传文件
编程和调试提示
部分小工具开发过程(或任意代码开发过程)解释了为何事情不总是按预期方向发展。本部分介绍了一些避免问题以及在发生问题时修正问题的基本技巧。
从基本框架开始
从基本框架开始是编程的一个基本原则。先构建一个基本的框架小工具,然后逐步编写。在每一阶段都进行测试,然后再进行下一阶段。使用该方法可以更轻松地了解您所做的更改在何时引起的问题。
研究现有小工具
作为小工具开发人员,您可用的最佳资源之一是现有小工具。访问内容目录并查看与您尝试执行的代码非常类似的小工具源代码。
使用 Firefox JavaScript 控制台
在开发过程中,您可以使用 Firefox 网络浏览器在 iGoogle 上测试您的小工具。如果小工具运行不正常,请打开 JavaScript 控制台(“工具”>“JavaScript 控制台”),选择“错误”,然后向下滚动以查看您的小工具是否有 JavaScript 语法错误。在每次测试之前,请务必清理控制台以清除旧的错误消息。
如果您使用其他类型的浏览器,请寻找您的浏览器支持的 JavaScript 控制台或调试器。
确认您的假设
在开发过程中确认您的假设可为您节省大量时间并减少大量无用功。是否确定变量具有您设想的值?是否确定数组包含元素?“看起来运行不正常”的函数是否有可能完全不响应调用?您可以通过在程序的不同点打印出状态消息来测试您的假设。例如,以下小工具具有print()
函数,如果debug
标记有非零值,该函数可将调试消息写入到debug_div:
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs
title="Debug Example"
height="200"/>
<UserPref
name="myname"
display_name="Name"
required="true" />
<UserPref
name="mycolor"
display_name="Color"
default_value="Pink"
datatype="enum" >
<EnumValue value="Blue" />
<EnumValue value="Yellow" />
<EnumValue value="Pink" />
<EnumValue value="Gray" />
</UserPref>
<Content type="html">
<![CDATA[
<div id="content_div" style="font-size:20pt; padding:5px; text-align: center;"></div>
<div id="debug_div" style="font-size:9pt; padding:5px; color: red;"></div>
<script type="text/javascript">
// Get userprefs
var prefs = new gadgets.Prefs();
// debug flag. When its value is non-zero, debugging messages are displayed
var debug = 1;
// The string containing debugging messages
var debug_html = "";
// Display date
function displayDate (){
// DEBUG: is the function getting called?
print("In displayDate function<br>");
// Create Date object
var today = new Date();
// Get current time
var time = today.getTime();
var content_html = "";
var element = document.getElementById('content_div');
element.style.backgroundColor=prefs.getString("mycolor");
element.style.height=100;
// DEBUG: print out prefs values
print("The background color is " + prefs.getString("mycolor") + "<br>");
print("The name is " + prefs.getString("myname") + "<br>");
content_html += today.toDateString();
// Write content HTML to div
document.getElementById("content_div").innerHTML = content_html;
}
// Outputs debug messages if debug flag has a non-zero value
function print(msg) {
if (debug) {
debug_html += msg;
// Write debug HTML to div
document.getElementById("debug_div").innerHTML = debug_html;
}
}
gadgets.util.registerOnLoadHandler(displayDate);
</script>
]]>
</Content>
</Module>
请注意:请参阅MiniMessages以获得有关小消息
API 的描述,它使您可以修改在小工具中显示的消息的行为和外观。
其他工具
以下 Firefox 插件可以帮助您在开发过程中更细致地洞察您的小工具:
通过 Google 小工具编辑器进行托管
如果您没有权限访问服务器以存储小工具 XML 文件,那么可以使用 Google 小工具编辑器 (GGE),它是快速编辑和托管小工具的出色工具。要使用 GGE,请确保您使用 Google 帐户登录(否则您将无法保存小工具)。例如,如果您将“Hello, world!”消息更改为“Hello, gadget developers!!”并使用“文件”>“另存为”以新名称保存小工具规范,GGE 将以您指定的名称为您托管新的小工具规范:
请注意:GGE 尚不完全支持gadgets.*
API,因此并非所有功能都能使用。您可以使用 GGE 来编辑和托管文件,但无法预览小工具。
文件菜单命令
“编辑”标签具有一个“文件”下拉菜单,其中包括以下命令。GGE 使用您的Google
帐户来标识属于您的文件,因此您必须登录才能使用其中大部分命令。
命令
说明
打开
|
打开先前创建的小工具并通过 GGE 保存。 |
保存
|
保存正在编辑的小工具规范。如果以前没有保存过小工具,系统会提示您输入小工具的名称。当您在 GGE 中保存小工具时,GGE 会自动为您托管该小工具。在您发布小工具之前,需要将其托管在公共服务器上,并且 GGE 可以托管小工具并向您提供多种发布小工具的方式。 |
另存为
|
以输入的名称保存您正在编辑的小工具。 |
重命名
|
重命名正在编辑的小工具。仅在保存了小工具后才可用。 |
上传
|
使您可以浏览小工具资源的文件系统,并将它们保存到 GGE 环境中。可以上传小工具规范,也可以上传其他小工具资源(如图片文件)。将资源上传到 GGE 中之后,GGE 将托管它们。这使您可以通过引用它们的GGE
网址将其导入到小工具规范。 |
发布
|
“发布”菜单项向您提供以下选项以发布小工具:
-
添加到我的 iGoogle 页面
-
发布到 iGoogle 目录
-
添加到网页
仅在保存了小工具后该命令才可用(保存可以使 GGE 托管您的小工具)。有关详细信息,请参阅通过
GGE 发布您的小工具。 |
删除
|
显示您的 GGE 小工具列表并使您可以选择和删除它们。 |
通过 GGE 发布您的小工具
“文件”菜单上的“发布”命令向您提供以下选项以发布小工具:
-
添加到我的 iGoogle 页面- 这会将小工具添加到您的 iGoogle 页面。这是在开发过程中测试您的小工具的最简单方式。
-
发布到 iGoogle 目录- 将您转至 iGoogle 提交页面,并在表单中预填入小工具网址。您可以使用提交表单将您的小工具提交到iGoogle
内容目录。除非点击“发送”,否则不会提交您的小工具。如果您的小工具已经测试并修改,那么这已是小工具开发中的最后一步。您不需要执行此步骤便可使用您的小工具并将其与朋友共享。该选项适用于希望使其小工具对大量受众可用的开发人员。
-
添加到网页- 这将使您转至联合创建者页面。
gadgets.*
或
OpenSocial API 尚不支持联合。
GGE 的右上角提供了您的小工具的网址。可以通过点击该链接来获得完整的网址。
当开发和测试您的小工具时,我们建议您在尽可能多的不同环境中对其进行测试。测试并修改了您的小工具之后,您便可以选择将其分发给大量受众(通过将其提交到iGoogle
内容目录)。
在 Google 代码上进行托管
最轻松的托管小工具规范和小工具资源的方法是通过GGE。对于需要功能更完整的资源控制系统的开发人员,建议将您的小工具在
Google 代码上进行托管:http://code.google.com/hosting。该免费服务可以向作为小工具开发人员的您提供很多好处。其主要好处之一是通过
Subversion 进行版本控制,Subversion 是一种开源版本控制系统。使用 Subversion,您可以跟踪小工具的更改并保留不同的版本。可获得全部版本历史记录,其使您可以回滚或分析版本之间的差异。要了解有关 Subversion 的详情,请参阅Subversion
book。
要在 Google 代码上托管您的小工具,首先要安装一个桌面程序(“Subversion 客户端”),它使您可以下载文件并将文件保存到code.google.com(“Subversion
库”)。大多数 Subversion 客户端都具有图形化用户界面,与命令行界面相比,它可以使您更轻松地与 Subversion 进行交互。可以根据您的操作系统选择不同的客户端。确保安装与您的系统兼容的客户端。下面是我们推荐的一些客户端:
-
TortoiseSVN是一种易于使用的适用于 Windows 的 Subversion
客户端,可以将功能直接集成到 Windows Explorer 中。
-
AnkhSVN是一种 Visual Studio 插件,可在 IDE 内部提供 Subversion 访问。
-
ZigVersion是一种针对 Mac OS X 构建的 Subversion 客户端。
-
RapidSVN是一种跨平台的 GUI Subversion 客户端。该客户端支持所有三种主要操作系统:Windows、Mac
OS X 和 Linux。
此处是一个客户端和插件的完全列表。
在您的计算机上安装了 Subversion 之后,请遵循以下步骤开始使用 Google 代码来托管您的项目。
创建新项目
要创建新项目,请执行以下步骤:
-
访问http://code.google.com/hosting并使用您的
gmail 帐户登录。如果您尚无帐户,请创建一个帐户。
-
点击“创建新项目”。
-
填写新项目的字段:
-
为您的项目创建小写名称,例如
my-gadgets
。请记住,项目名称将成为项目网址的一部分且以后不能再更改。
-
书写总结和说明。
-
选择开源许可证。要了解详情,请访问开源许可证。
-
可选步骤:分配标签以帮助其他用户找到您的项目。
-
验证是否填写了所有必填字段,然后点击“创建项目”。
-
已完成!您将被重定向到“项目主页”页面。验证您的网址是否类似于:http://code.google.com/p/<project-name>/
现在,您在code.google.com上拥有一个项目。已使用您的项目名称创建了 Subversion 库。点击“源”标签,然后点击“Subversion 库”链接。
网址应类似于http://<project-name>.googlecode.com/svn/。您应看到三个目录链接:分支、标签和主干。将文件上传到您的项目时,它们在/trunk文件夹进行替换。您可能需要将网址http://<project-name>.googlecode.com/svn/trunk/添加到书签以便以后参考。
校验项目
您需要先校验项目的 Subversion 库中的代码,然后才能上传文件。为了执行该校验,您需要三种信息:库网址(您需要使用以https而非http开头的版本)、用户名和密码。要找到该信息,请转至您项目的“源”标签 (http://code.google.com/p/<project-name>/source)。您应看到以下类似内容:
svn 校验 https://<项目名称>.googlecode.com/svn/trunk/ gadgets-test --username <用户名>
当提示时,请输入您的生成的SVN
密码。
继续时,请在浏览器中保持该页面处于打开状态,以便您可以根据需要检索相应的信息。
根据您所使用的 Subversion 客户端,实际校验的详情可能有所不同,但总体过程是相同的。本部分的说明假设您使用的是TortoiseSVN。
要校验项目,请执行以下步骤:
-
在 Windows Explorer 中创建新文件夹并在文件夹中浏览。
-
点击鼠标右键并选择“SVN 校验...”。
-
输入您的库网址并点击“确定”。请注意,对于这一步,您必须使用以https开头的库网址版本。对于读写访问,这是必需的。如果您使用以http开头的版本,则您仅具有读取权限,而无法添加或提交文件。
-
TortoiseSVN 连接至服务器并尝试对您进行验证。将提示您输入用户名和密码。输入您的用户名和密码,选中“保存验证”,然后点击“确定”。如果未提示您输入用户名和密码,请返回步骤 3 并确保您的库网址是以https而非http开头。
此时客户端将连接并校验您的整个库。已完成!
如果校验成功完成,您应看到一个新的隐藏文件夹/.svn。请勿修改或删除该文件夹。
上传文件
项目经过校验后,您便可以使用 Subversion 命令开始将新文件夹和文件添加到目录。本部分的说明假设您使用的是TortoiseSVN。
要上传文件,请执行以下步骤:
-
在<project-name>.googlecode.com/svn/trunk/目录下创建一个新文件(例如new-gadget.xml)并保存。可以将文件直接放在
/trunk
下,也可以放在/trunk
下的子目录中。
-
在文件上点击鼠标右键并选择“添加...”。这仅意味着添加了文件,但在此时文件尚未上传到服务器。如果您将文件放在尚未添加到库的目录中,则还需要添加该目录。添加目录时,还将添加该目录中的所有文件。同一规则也适用于提交更改。如果某个目录尚未被提交,则不能将文件提交到该目录。
-
继续编辑文件,直至您准备好提交(上传)该文件。
-
当您准备好提交文件时,请在文件上鼠标右键并选择“SVN 提交...”。
当提示时,请在消息日志中写下可选注释,然后点击“确定”。您的文件应开始传送到服务器。
文件传送到服务器后,提交(上传)即完成,并且立即可从http://<project-name>.googlecode.com/svn/trunk/new-gadget.xml在线获得该文件。请注意,如果只是引用(读取)库中的文件,则应使用以http开头的库网址版本。
您可以在库中创建目录结构,该目录结构将反映在此网址中。例如,如果您在/a/b/c/new-gadget.xml下添加和提交了一个新文件,则将在http://<project-name>.googlecode.com/svn/trunk/a/b/c/new-gadget.xml处托管该文件。
要了解有关托管在 Google 代码上的项目的详情,请访问常见问题解答。
返回页首
相关推荐
自己为了方便查找联系人写的一个边栏小工具,主要是查询Win7的联系人,在Win7环境下测试通过,因为Gadget的资料较少,...资源除原码外,还有自己在网上找的一些Gadgets开发的资料,一起分享给大家,希望能有些帮助。
10. **调试和测试**:开发过程中,可以利用Vista内置的Gadget开发工具进行调试,检查JavaScript错误,或使用模拟器测试在不同系统配置下的表现。 通过"SidebarTutorial"这个文件名,我们可以推测这可能是一个逐步...
本教程将深入探讨如何开发Vista侧边栏Gadgets,并结合API的使用,为用户提供更具个性化的体验。 首先,我们要了解Gadget的基本结构。一个Gadget通常由HTML、CSS和JavaScript组成,这使得开发者可以利用Web技术来...
- **Mobile Apps(移动应用)**:利用Ebay API开发的手机应用。 - **Toolbars(工具栏)**:集成在浏览器中的Ebay功能条。 #### 四、API能力 API提供了大部分网站上的功能,使开发者能够构建各种应用来满足不同的...
《Windows Vista Gadgets Programming》是一本全面而深入的指南,不仅适合希望开发Windows Vista Gadgets的程序员阅读,也对想要深入了解Windows Vista桌面小工具生态系统的任何感兴趣人士都有参考价值。通过学习...
这本书主要面向希望深入了解和开发这些桌面小工具的IT专业人员。 本书详细介绍了Gadgets的开发流程,包括基本概念、设计原则和实现技术。内容涵盖以下几个关键知识点: 1. **Gadget架构**:讲解了Gadgets的组成...
4. **桌面小工具(Gadgets)**:在早期版本的Windows中,开发者可以创建桌面小工具,这是一种小型的、交互式的桌面应用程序,可以显示天气预报、日历、新闻等信息。 5. **Windows Explorer集成**:通过Shell API,...
4. **桌面小工具(Gadgets)**:通过Shell API,开发者可以创建自定义的桌面小工具,这些小工具能够提供实时信息,如天气预报、新闻更新等。 5. **上下文菜单扩展**:通过实现IContextMenu接口,开发者可以添加...
有关如何入门,开发人员文档和API参考的信息,请访问。 执照 该库根据Amazon软件许可获得许可。 资料夹 / AlexaGadgetsProtobuf 此文件夹包含协议缓冲区(protobuf)消息定义文件和脚本,用于编译相应的序列化器/...
4. **API接口**:作为开放平台的一部分,Google Gadgets会提供一套API供开发者调用,以实现小工具的功能。研究这些API的设计和实现,可以帮助我们理解如何设计高效的接口和实现跨平台兼容性。 5. **构建系统**:...
"A collection of web gadgets" 指的是一系列用于网页的工具或小部件,这些小部件通常提供特定的功能,如日历、天气预报、新闻滚动等,能够增强用户在网页上的交互体验。HTML5移动应用开发结课作业则表明这个压缩包...
在当今的企业管理中,Jira作为一款强大的问题跟踪和项目管理工具,已经广泛应用于软件开发、项目协调以及任务管理等多个领域。然而,Jira的标准功能往往不能满足所有企业的个性化需求,这就催生了Jira的二次开发。...
3. Gadgets API:这是Vista提供的特定接口,允许小工具访问系统资源,如时间、网络状态等。 4. XML配置文件:定义小工具的元数据,如名称、大小、图标等。 五、注意事项 1. 性能优化:小工具应轻量级且高效,避免...
- 下载工具链:获取hackRF_one的官方工具包,包括Great Scott Gadgets的开源软件libhackrf,以及配套的开发工具。 2. **VS2015编译环境准备**: - 安装Visual Studio 2015 Community Edition或更高版本,确保包含...
总的来说,`python-shka-gadgets-openstackclient`是一个与OpenStack云平台交互的Python库,适用于后端开发,可以帮助开发者更高效地管理OpenStack环境中的各种资源。通过学习和使用这个库,开发者可以提升在...
**TopTen.chm**可能是一个帮助文件或文档,其中列出了开发人员在Windows Vista API中应该重点关注的十大API或技术。CHM是Microsoft的HTML Help格式,通常用于技术文档,提供搜索、索引和目录等功能,方便用户快速...
Liferay 提供了与多种开发工具的集成,如: - **Maven**:对于喜欢命令行和自动化构建的开发者,Liferay 提供了 Maven 插件,方便创建、构建和部署 Liferay 项目。 - **NetBeans, IntelliJ IDEA** 或其他 IDE:...
3. **选择开发工具** - **Maven**:对于偏好Maven的开发者,Liferay提供了支持,可以通过Maven构建和管理项目。 - **IDE集成**:无论你钟爱NetBeans、IntelliJ IDEA还是其他IDE,教程都会指导如何配置这些工具与...
在"Industrial_Gadgets_ActiveX_Pro" 压缩包文件中,我们可以期待找到与该控件相关的各种资源和文档,例如开发指南、API参考、示例代码、库文件以及可能的安装程序。这些内容对于开发者来说至关重要,因为它们将帮助...