2012-01-22 66 views
1

我想编写一个html/javascript/sql应用程序供个人使用,只能在本地运行(不能通过互联网下载),这将与大型本地数据库(大约3MB)交互和显示从本地存储的大量资源(大约2GB)中抽取的图像和文本。从脱机Web应用程序访问本地数据

我已经有了这样一款用Java编写的Android应用程序,但有兴趣重新开发它,以便它可以在不同平台(iOS等)上运行,如果可能的话。

我的直接问题是:“离线网络应用程序”可以访问预先存在的本地存储数据库并读取本地存储的资源吗?我在网上发现的信息谈到缓存的数据听起来不像是同一件事。

+0

我的应用程序的原始版本是在Internet Explorer中运行的“.hta”,其中的数据(通过Microsoft TDC访问)和资源存储在包含.hta文件的文件夹的子文件夹中。从本质上讲,我期望做的是创建类似的东西,这些东西可以在IE以外的浏览器中运行,包括手机上的浏览器。 – prepbgg

回答

1

我相信你可以简单地开发一个HTML文件,它可以在你的设备上本地运行(无论是PC,手机还是其他)。

然后,您可以利用HTML5 WebDatabases来满足您的数据库需求 - 这可以在任何现代浏览器中运行并运行客户端。

关于您的照片,我会将它们存储在HTML文件的子文件夹中。这样,您就可以使用常规的图像标签,如你的网页浏览器中展示他们:

<img alt="" src="file://path/to/your/images/images1.jpg" /> 

预填充,或过渡,从SQLite数据库,你可以看看这个示例代码:https://github.com/atkinson/phonegap-prepopulate-db

它利用SQLite数据库的转储和HTML5的FileReader遍历数据并将其插入基于浏览器的WebDatabases或Web SQL数据库中。

+0

感谢您的回复。通过Web数据库,你是指那些由浏览器缓存的数据库?我将如何获取数据?或者我可以将浏览器指向现有的数据库? – prepbgg

+0

你现有的数据库是什么格式? 如果您的数据库与SQLite的语法兼容,那么您可以考虑使用Web SQL:http://www.w3.org/TR/webdatabase/ 请注意,它已被弃用,以支持WebDatabases(即据我所知,与任何现有的数据库都不兼容)。 – kfuglsang

+0

数据目前在SQLite数据库中,但我希望能够将其转换为其他格式。但是,“Web数据库托管并保存在用户的浏览器内”......我的问题仍然存在:我如何获取大量数据?通过我的Android应用程序,我可以通过USB将SQLite数据库复制到SD卡上。如果我有一个Web服务器,我可能会将代码添加到我的HTML应用程序中,以便将数据读取到由浏览器缓存的数据库中。但我没有网络服务器。 – prepbgg

相关问题