4

自上周以来,我一直在潜入移动应用程序开发。我想要做的是使用Phonegap 来缓存Json-Files 以使WebApp 工作,即使没有wifi 或互联网连接也是如此。我很困惑。我读过很多关于离线缓存的方法。但我不明白的是,如何使用例如缓存的 Json-Files 以离线模式呈现我的网络应用程序。

我一直认为它可以如下工作:

假设我有一个网站,这是响应式的。本站内容是基于 Json-Data 动态生成的。

现在我想把这个网站带到移动设备上。我从 Phonegap 开始。我使用 webview 或 InAppBrowser 编写了我的第一个简单应用程序,其中包含我的网站。现在我想让这个应用程序能够根据缓存的 Json-Data 离线工作。这就是我悬在空中的地方。我不知道进一步了。我是否使用 PhoneGap File-Api 请求 Json-Data 并将此数据存储到我设备的本地文件系统中?以及如何使用这些数据来构建我的布局。据了解,我将 PhoneGap 作为容器,它在我的响应(HTML5、CCS、JS)网站和本机功能之间架起了一座桥梁。所以我所理解的是,我可以在 PhonGap 容器中加载我的网站,它看起来很像一个应用程序。但是当我离线时,我必须缓存数据。最重要的 Json 数据,标记所基于的。如何从本地设备加载此 Json-Data 并使用此数据进行渲染?今天我正在构建一个简单的应用程序,使用带有 InAppBrowser 的 PhoneGap。然后我发现没有教程如何缓存由我的响应式网站提取的 Json-Data。我可以看到这些数据已被使用(通过 Fiddler 作为反向代理)。所以这个数据必须传输到 InAppBrowser。我以为我误解了什么。也许我必须将所有内容都包含在 index.html 中(我使用的是 eclipse、phonegap 和 android)。任何人都可以通过一个简单的例子告诉我如何调用我的网站,缓存 Json 数据(大文件,使用 PhoneGap File-Api 在本地设备上最多 100MB)并使用这个 Json 文件在离线时呈现我的网站?这可能吗?如何从本地设备加载此 Json-Data 并使用此数据进行渲染?今天我正在构建一个简单的应用程序,使用带有 InAppBrowser 的 PhoneGap。然后我发现没有教程如何缓存由我的响应式网站提取的 Json-Data。我可以看到这些数据已被使用(通过 Fiddler 作为反向代理)。所以这个数据必须传输到 InAppBrowser。我以为我误解了什么。也许我必须将所有内容都包含在 index.html 中(我使用的是 eclipse、phonegap 和 android)。任何人都可以通过一个简单的例子告诉我如何调用我的网站,缓存 Json 数据(大文件,使用 PhoneGap File-Api 在本地设备上最多 100MB)并使用这个 Json 文件在离线时呈现我的网站?这可能吗?如何从本地设备加载此 Json-Data 并使用此数据进行渲染?今天我正在构建一个简单的应用程序,使用带有 InAppBrowser 的 PhoneGap。然后我发现没有教程如何缓存由我的响应式网站提取的 Json-Data。我可以看到这些数据已被使用(通过 Fiddler 作为反向代理)。所以这个数据必须传输到 InAppBrowser。我以为我误解了什么。也许我必须将所有内容都包含在 index.html 中(我使用的是 eclipse、phonegap 和 android)。任何人都可以通过一个简单的例子告诉我如何调用我的网站,缓存 Json 数据(大文件,使用 PhoneGap File-Api 在本地设备上最多 100MB)并使用这个 Json 文件在离线时呈现我的网站?这可能吗?将 PhoneGap 与 InAppBrowser 一起使用。然后我发现没有教程如何缓存由我的响应式网站提取的 Json-Data。我可以看到这些数据已被使用(通过 Fiddler 作为反向代理)。所以这个数据必须传输到 InAppBrowser。我以为我误解了什么。也许我必须将所有内容都包含在 index.html 中(我使用的是 eclipse、phonegap 和 android)。任何人都可以通过一个简单的例子告诉我如何调用我的网站,缓存 Json 数据(大文件,使用 PhoneGap File-Api 在本地设备上最多 100MB)并使用这个 Json 文件在离线时呈现我的网站?这可能吗?将 PhoneGap 与 InAppBrowser 一起使用。然后我发现没有教程如何缓存由我的响应式网站提取的 Json-Data。我可以看到这些数据已被使用(通过 Fiddler 作为反向代理)。所以这个数据必须传输到 InAppBrowser。我以为我误解了什么。也许我必须将所有内容都包含在 index.html 中(我使用的是 eclipse、phonegap 和 android)。任何人都可以通过一个简单的例子告诉我如何调用我的网站,缓存 Json 数据(大文件,使用 PhoneGap File-Api 在本地设备上最多 100MB)并使用这个 Json 文件在离线时呈现我的网站?这可能吗?所以这个数据必须传输到 InAppBrowser。我以为我误解了什么。也许我必须将所有内容都包含在 index.html 中(我使用的是 eclipse、phonegap 和 android)。任何人都可以通过一个简单的例子告诉我如何调用我的网站,缓存 Json 数据(大文件,使用 PhoneGap File-Api 在本地设备上最多 100MB)并使用这个 Json 文件在离线时呈现我的网站?这可能吗?所以这个数据必须传输到 InAppBrowser。我以为我误解了什么。也许我必须将所有内容都包含在 index.html 中(我使用的是 eclipse、phonegap 和 android)。任何人都可以通过一个简单的例子告诉我如何调用我的网站,缓存 Json 数据(大文件,使用 PhoneGap File-Api 在本地设备上最多 100MB)并使用这个 Json 文件在离线时呈现我的网站?这可能吗?


更新: 我在互联网上找到了这个帖子,可以调整,以满足我的需求:这里 这个例子的代码,这个代码来自 index.html 还是这个代码在网站中使用?我是否也必须将 cordova.js 包含到我的网站中?

提前谢谢了。

4

2 回答 2

1

通常,您可以将 JSON 数据存储到 HTML5 本地存储中并使其脱机。但是这里 localstorage 的大小限制为 5MB。

但是正如您所说的那样,您正在处理大数据,您可以通过这种方法来做到这一点:

  • 创建 phonegap 自定义插件以处理所有 Web 服务调用
  • 使用此插件还将 JSON 数据存储到本机存储数据库中(没有大小限制,因为您使用的是设备存储)

因此,您的 HTML 代码不会有 ajax 调用,而是由插件处理。

于 2013-07-06T21:35:59.897 回答
0

您可以将 json 保存到文件系统中......并且您不需要 LocalStorage 或 DB。

于 2013-09-10T14:19:25.010 回答