TinyWebDB 是一个 App Inventor 组件,允许您在网络上的数据库中持久存储数据。由于数据存储在网络上而不是特定手机上,TinyWebDB 可用于促进手机和应用之间的通信(例如,多人游戏)。
默认情况下,TinyWebDB 组件将数据存储在 App Inventor 提供的测试服务上,http://tinywebdb.appinventor.mit.edu/ 。此服务对测试很有帮助,但它由所有 App Inventor 用户共享,并且有 1000 个条目的限制。如果您使用它,您的数据最终将被覆盖。
对于您编写的大多数应用程序,您会希望创建一个不与其他 App Inventor 应用程序和程序员共享的自定义 Web 服务。您不需要成为程序员就可以这样做——只需按照以下说明操作,您将在几分钟内拥有自己的服务。
要创建您自己的 Web 服务,请按照以下说明操作:
- 在 http://code.google.com/appengine/ 下载 Python 的 App Engine。安装后,通过单击其图标运行 GoogleAppEngineLauncher。
- 下载此示例代码。它是一个包含您的自定义 tinywebdb Web 服务源代码的 zip 文件
- 解压缩下载的 zip 文件。它将创建一个名为 customtinywebdb 的文件夹。如果需要,您可以重命名它。
-
在 GoogleAppEngineLauncher 中,选择 File Add Existing Application 。浏览设置 Path 到您刚刚解压缩的 customtinywebdb 文件夹。然后单击 Run 按钮。这将启动一个在您本地机器上运行的测试 Web 服务。 - 您可以通过打开浏览器并输入 “localhost:8080” 作为 URL 来测试服务。您将看到 Web 服务界面的网页。此服务的最终目标是与使用 App Inventor 创建的移动应用程序通信。但该服务提供了一个 Web 页面界面来帮助程序员进行调试。您可以手动调用 get 和 store 操作,查看现有条目,还可以删除单个条目
- 您的应用程序尚未在网络上,因此 App Inventor 应用程序尚无法访问。要将其放到网络上,您需要将其上传到 Google 的 App Engine 服务器。
- 在 GoogleAppEngineLauncher 中,选择 Dashboard 。输入您的 Google 帐户信息,您将被带到 App Engine 仪表板。
- 选择 Create an Application 。您需要指定一个全局唯一的应用程序标识符。记住应用程序标识符,因为您稍后会需要它。为您的应用程序提供一个名称,然后单击 Create Application 提交。如果您的标识符是唯一的,您现在在 Google 服务器上有了一个新的空应用程序。
- 在本地计算机上打开文本编辑器,并打开您解压缩的 customtinywebdb 文件夹中的 app.yaml 文件。修改第一行,使应用程序与您在 Google 设置的应用程序标识符匹配。
- 在 GoogleAppEngineLauncher 中,选择 Deploy 并按照部署应用程序的步骤操作。
- 测试您的应用程序是否在网络上运行。在浏览器中,输入 myapp.appspot.com,只需将 “myapp” 替换为您的应用程序标识符。应用程序应该看起来与您在本地测试服务器上运行时相同。只是现在它在网络上,您可以从您的 App Inventor for Android 应用程序访问它。 您的 App Inventor 应用程序可以使用您的新服务存储和检索数据。只需执行以下操作:
在组件设计器中拖入一个 TinyWebDB 组件。 将 ServiceURL 属性从默认的 http://tinywebdb.appinventor.mit.edu/ 修改为您的 Web 服务。 任何 StoreValue 操作(块)都会将数据存储在您的服务中,任何 GetValue 操作都会从您的服务中检索数据。