四十五、HTML5

在当前对移动应用的兴趣浪潮之前,当前的技术是 web 应用。很多注意力都放在了 AJAX、Ruby on Rails 和其他技巧和技术上,这些技巧和技术使得使用 web 应用的体验接近,有时甚至优于使用桌面应用的体验。

web 应用的爆炸最终推动了 web 标准的下一轮增强,统称为 HTML5。Android 2.0 是第一个支持这些 HTML5 增强功能的版本。值得注意的是,Android 支持离线应用和网络存储,这意味着 HTML5 成为创建 Android 应用的相关技术,而无需处理 Java。

离线应用

在 Android 或其他地方使用 HTML5 进行离线应用的关键是,当没有互联网连接时,可以在客户端(例如,在没有 Wi-Fi 的飞机上)或服务器端(例如,由于 web 服务器维护)使用这些应用。

这是什么意思?

从历史上看,web 应用有这种讨厌的趋势,需要 web 服务器。这导致了离线使用的各种变通方法,包括运送 web 服务器并将其部署到桌面。

HTML5 通过允许网页指定自己的缓存规则解决了这个问题。web 应用可以发布一个缓存清单,描述哪些资源

  • 可以安全地缓存,这样,如果 web 服务器不可用,浏览器可以使用缓存的副本。
  • 不能被安全地缓存,这样,如果 web 服务器不可用,浏览器就会像往常一样失败。
  • 拥有一个“后备”资源,这样,如果 web 服务器不可用,应该使用缓存的后备资源。

对于移动设备来说,这意味着一个完全支持 HTML5 的浏览器应该能够预先加载所有的资源并保持缓存。如果用户失去连接,应用仍将运行。在这方面,web 应用的行为几乎与常规应用相同。

你如何使用它?

这一章,我们将使用亚历克斯·吉普森创造的Checklist“迷你应用”。虽然可以在 MiniApps 网站([http://miniapps.co.uk/](http://miniapps.co.uk/))上找到该应用的最新版本,但本章将回顾在 Apress 网站([www.apress.com](http://www.apress.com))的源代码/下载区中找到的HTML5/Checklist副本。这份拷贝也在线托管在 CommonsWare 网站上,你可以很容易地通过简短的网址[http://bit.ly/cw-html5](http://bit.ly/cw-html5)直接找到它。

关于示例应用

Checklist顾名思义,是一个简单的清单应用。当您第一次启动它时,列表将是空的,如图Figure 45–1所示。

images

图 45–1。 清单 app,初始启动

您可以在顶部字段中输入一些文本,然后点击添加按钮将其添加到列表中,如图Figure 45–2所示。

images

图 45–2。 检查表,增加一项

您可以“勾选”个别项目,然后以删除线显示,如图Figure 45–3所示。

images

图 45–3。 检查表,其中一项标记为已完成

您也可以删除选中的条目(通过删除选中的按钮)或所有条目(通过删除全部按钮),在继续之前会弹出一个确认对话框,如Figure 45–4所示。

images

图 45–4。 清单删除确认对话框

在您的 Android 设备上“安装”清单

要在您的 Android 设备上访问Checklist,请访问位于[http://bit.ly/cw-html5](http://bit.ly/cw-html5)的托管版。然后你可以为它添加一个书签(在浏览器的选项菜单中选择更多images添加书签),以便以后返回。

如果你愿意,你甚至可以在主屏幕上设置书签的快捷方式——只需长按背景,选择书签,然后选择你之前设置的Checklist书签。

检查 HTML

Checklist应用中的所有功能都是通过几行 HTML 代码实现的:

<!DOCTYPE html> <html lang="en" manifest="checklist.manifest"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Checklist</title> <meta name="viewport"   content="width=device-width; initial-scale=1.0; maximum-scale=1.0;![images](img/U002.jpg)  user-scalable=0;" /> <meta name="apple-mobile-web-app-capable" content="yes" /> `

   Mail  

Checklist

                  Add         

Total: 0         Remaining: 0

  
        
  • Loading…
  •   
      Delete Checked   Delete All