cordova - 存储离线应用程序页面的最佳方法

标签 cordova mobile-application

这是我第一次体验移动应用程序。我们的一位客户请求开发一个应用程序,在移动应用程序中显示其网站上的静态数据。我们计划使用phonegap。

该应用程序仅包含列表(例如:城市景点列表)和页面(城市景点页面)。我应该使用数据库还是只将页面导出为 html?有什么建议么?

最佳答案

来自wikipedia :

PhoneGap applications use HTML5 and CSS3 for their rendering, and JavaScript for their logic

这意味着您有两种可能性,无论您的应用程序中的客户数据是否要在不更新应用程序的情况下进行修改。由于我无法根据您在问题中提供的信息确定这一点,因此我将详细说明每种情况的答案。


如果您的客户数据不需要更新(无需更新您的应用程序)

在这种情况下,您认为客户的数据是静态的。该数据的出处并不重要,因为在分发您的应用程序之前,您会将其包含在您的应用程序数据中,就像任何其他文本或图像(或其他 Assets )一样。这意味着您客户的列表将与您的应用程序绑定(bind),并且修改它们将需要更新您的应用程序。

从技术上讲,这意味着您只需将客户的数据添加为静态文件即可。它可以是 HTML5 代码,位于您自己的应用程序代码中间,也可以是您的应用程序必须解析和显示(使用 JavaScript)的任何类型的文件(例如 Json)。

但是,如果您选择 HTML5 解决方案,出于可维护性目的(也可能是其他原因),您可能希望将客户端的内容与应用程序的内容分开。为此,请创建一个包含客户数据的 HTML5/CSS3 页面,并使用 that method 将其包含在应用程序的页面中。 (或者您可以使用 pager.js 中提到的 this answer 库)。

附注:在本例中,下一个方法的执行效果与此方法一样好;缺点是有点复杂。

如果您的客户数据需要更新而无需更新您的应用

在这种情况下,您认为客户的数据是动态的。数据的来源是相关的,因为只有获取数据的方法将存储在您的应用程序中:其余的将由执行您的应用程序的设备完成。虽然实现起来比较复杂,但此方法的优点是允许不断更新数据,而不需要更新应用程序。

从技术上讲,这意味着您将在 HTML5/CSS3 中描述您的应用程序布局和(图形)设计,并且您将在以下位置编写您的应用程序行为(获取客户端数据、存储它、查询它、显示它等): JavaScript。

为此,您需要使用 JavaScript(嵌入在应用程序的 HTML5 文件中)获取客户的信息,然后再次使用 JavaScript 将这些信息存储在 PhoneGap Storage 中。 。然后,您的应用程序还需要查询 PhoneGap Storage (仍然使用 JavaScript)根据 HTML5/CSS3 文件中描述的布局/设计(可能是应用程序中用于客户端数据逻辑布局的 HTML5 框架,以及其 CSS3 id 和类)中描述的布局/设计来访问存储的信息并显示它设计/外观)。

值得注意的是,如果您有始终在线的设备,只要您客户的网站正常运行,您就不需要在应用程序中存储列表信息。但是,如果您客户的网站出现故障,或者设备离线,您将需要本地存储。

底线

换句话说,如果您的应用程序不需要 Internet 连接即可工作,则可以安全地将列表包含在 HTML5/CSS3 数据中;否则,您将需要使用 JavaScript/PhoneGap Storage解决方案,尽管它更复杂。

关于cordova - 存储离线应用程序页面的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23185226/

相关文章:

javascript - Phonegap & Javascript -- Div 的动态调整大小

javascript - Ionic2 本地通知不播放自定义歌曲

javascript - ngCordova:oauth 与谷歌失败

ios - 从 cordova 读取 Microsoft Intune 应用程序配置属性

ruby-on-rails - 当您的数据库架构发生变化时处理旧版本移动应用程序的正确方法

mobile - Admob 和 AdSense 的主要区别是什么

ios - cordova[phonegap] 设置启动画面在 ios 中无法正常工作

django - 如何在服务器端实现 "pull down to refresh"

security - Sencha Touch 是否提供任何安全模型?

java - 以编程方式更改 Android 上的设备开发人员选项