Android 在phone-gap中使用数据库
我将进入一个新的移动项目,更具体地说是一个移动TCG交易卡游戏Deckbuilder应用程序。由于这将是我的第一款手机应用,我做了一些研究,发现了Phonegap。我已经做了几个基于节点的网络应用程序,所以它似乎很适合我 我开始搜索如何在手机上存储数据,发现有3种可能性: 内存存储SQLLite? 本地存储库 WebSqlStore LocalStorageStore,对于我的应用程序的复杂性来说似乎是不可能的。所以它介于MemoryStore和WebSqlStore之间 什么适合我的项目?你能做到多复杂 因此,我们的想法是使用一个包含所有现有卡的大json文件:Android 在phone-gap中使用数据库,android,cordova,Android,Cordova,我将进入一个新的移动项目,更具体地说是一个移动TCG交易卡游戏Deckbuilder应用程序。由于这将是我的第一款手机应用,我做了一些研究,发现了Phonegap。我已经做了几个基于节点的网络应用程序,所以它似乎很适合我 我开始搜索如何在手机上存储数据,发现有3种可能性: 内存存储SQLLite? 本地存储库 WebSqlStore LocalStorageStore,对于我的应用程序的复杂性来说似乎是不可能的。所以它介于MemoryStore和WebSqlStore之间 什么适合我的项目?你能
{
id: xx,
name: 'name'
manacost: xx,
attack: xx,
defence: xx,
effects: [
'lorem ipsum',
'lorem ipsum'
],
image: '/img/cards/xx.png'
}
所以为了节省一副牌,我想我可以选择:
甲板名称
一组卡片,不知我是用{id,amount}保存它们还是计数它们。
创建和更新
这不是太沉重的记忆吗?再说一次,什么样的数据库系统适合这种情况?最好的SQLite插件是: 或此插件的特殊版本,可在此处找到: 如果你的应用程序基于JSON,你应该看看PockDB,它是一个NoSQL数据库,你可以在cordova sqlite插件上使用:
最好的SQLite插件是: 或此插件的特殊版本,可在此处找到: 如果你的应用程序基于JSON,你应该看看PockDB,它是一个NoSQL数据库,你可以在cordova sqlite插件上使用:
您可以使用SQLite保存数据。这是以表格式保存数据的非常正确的方法,这样您就可以使用sql查询获得所需的数据。当您当时使用大量数据时,有时很难使用会话或本地存储来处理此问题。所以我建议您使用SQLite。正如我在下面的示例中提到的,您将了解创建DB的想法
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
var db = openDatabase('mydatabase', '1.0', 'My DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS USER (id unique, name)');
tx.executeSql('INSERT INTO USER (id, name) VALUES (1, "Ram")');
tx.executeSql('INSERT INTO USER (id, name) VALUES (2, "Amay")');
});
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM USER WHERE id=?', [1], function (tx, results) {
var len = results.rows.length, i;
for (i = 0; i < len; i++){
var data = "<p><b>" + results.rows.item(i).name + "</b></p>";
document.querySelector('#custName').innerHTML += data;
}
}, null);
});
</script>
</head>
<body>
<div id="custName">USER NAME</div>
</body>
</html>
您可以使用SQLite保存数据。这是以表格式保存数据的非常正确的方法,这样您就可以使用sql查询获得所需的数据。当您当时使用大量数据时,有时很难使用会话或本地存储来处理此问题。所以我建议您使用SQLite。正如我在下面的示例中提到的,您将了解创建DB的想法
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
var db = openDatabase('mydatabase', '1.0', 'My DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS USER (id unique, name)');
tx.executeSql('INSERT INTO USER (id, name) VALUES (1, "Ram")');
tx.executeSql('INSERT INTO USER (id, name) VALUES (2, "Amay")');
});
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM USER WHERE id=?', [1], function (tx, results) {
var len = results.rows.length, i;
for (i = 0; i < len; i++){
var data = "<p><b>" + results.rows.item(i).name + "</b></p>";
document.querySelector('#custName').innerHTML += data;
}
}, null);
});
</script>
</head>
<body>
<div id="custName">USER NAME</div>
</body>
</html>
好的,这个想法是有一个大的JSON文件,其中包含应用程序中已经存在的所有卡片和资产。并使用sqlite或json存储来自用户的数据组。PockDB看起来是一个非常有创意的JSDB,我可能会用它作为某种本地脚本来更新我的应用程序数据。阅读你的评论,你会选择sqlite吗?是的,我更喜欢sqlite,还有一种方法可以预填充你的数据。好的想法是有一个大JSON文件,其中包含应用程序中已经存在的所有卡片和资产。并使用sqlite或json存储来自用户的数据组。PockDB看起来是一个非常有创意的JSDB,我可能会用它作为某种本地脚本来更新我的应用程序数据。所以读了你的评论,你会选择sqlite吗?是的,我更喜欢sqlite,还有一种方法可以预填充你的数据。