2014-03-13 29 views
0

我正在構建一個應用程序,我想在設備上完全本地化。我一直在研究如何將數據存儲在設備上,並且似乎WebSQL在iOS6 +設備上是持久的。實現WebSQL到iOS 6+/Android 4+本地應用程序

我一直在尋找關於WebSQL的文檔,我對如何將其添加到我的項目有點困惑。

在文檔他們

function prepareDatabase(ready, error) { 
    return openDatabase('documents', '1.0', 'Offline document storage', 5*1024*1024, function (db){ 
     db.changeVersion('', '1.0', function (t) { 
      t.executeSql('CREATE TABLE docids (id, name)'); 
     }, error); 
    }); 
} 

function showDocCount(db, span) { 
    db.readTransaction(function (t) { 
     t.executeSql('SELECT COUNT(*) AS c FROM docids', [], function (t, r) { 
      span.textContent = r.rows[0].c; 
     }, function (t, e) { 
      // couldn't read database 
      span.textContent = '(unknown: ' + e.message + ')'; 
     }); 
    }); 
} 

prepareDatabase(function(db) { 
    // got database 
    var span = document.getElementById('doc-count'); 
    showDocCount(db, span); 
}, function (e) { 
    // error getting database 
    alert(e.message); 
}); 

他們說,「prepareDatabase」功能查看是否數據庫已經存在,但我看不出那檢查,除非回調ONLY如果數據庫不存在,則調用,API部分似乎暗示該數據庫。

此外,如果數據庫大小增長大於創建時提供的估計值,會發生什麼情況?

另一個問題就是如何 persistent是數據庫嗎?有一天早上,當用戶打開應用程序並看到所有數據都沒有了,用戶會感到震驚嗎?

一如既往,感謝您的幫助。

回答

0

打開websql數據庫令人費解。該模式是,你從不指定版本openDatabase。但相反,讓他們打開任何東西,如果版本不是1.0,那麼你changeVersion1.0