[英]Implementing Database in HTML5 Mobile App
我在決定為我的移動應用程序實施數據庫時遇到麻煩。 我正在將JavaScript與jquery mobile和phonegap結合使用,以希望部署到IOS和Android。 該數據庫基本上是大約60-70個位置名稱,描述,緯度和經度的列表。 即使用戶沒有Internet訪問權限,我也需要數據可用,並且需要執行查詢,例如按最近距離對位置進行排序。
有沒有一種方法可以預先創建數據庫文件並根據需要打開,還是我的應用每次打開時都需要創建數據庫? 即使關閉應用程序后,數據庫文件是否仍駐留在設備上?還是在重新啟動應用程序時再次創建數據庫文件?
有什么建議或例子嗎?
謝謝,
羅伯特
瀏覽器存儲有多種類型,例如localStorage,它們都是內置的,可以直接使用。
存儲對象是該標准的最新添加。 因此,它們可能並不在所有瀏覽器中都存在。。。可以保存的最大數據量受到cookie的嚴格限制。
代碼示例:
function storeMyContact(id) {
var fullname = document.getElementById('fullname').innerHTML;
var phone = document.getElementById('phone').innerHTML;
var email = document.getElementById('email').innerHTML;
localStorage.setItem('mcFull',fullname);
localStorage.setItem('mcPhone',phone);
localStorage.setItem('mcEmail',email);
}
另一方面,localStorage可能還不夠,因此,外部庫就可以使用了,它們實際上利用了內置存儲中的瀏覽器,並使數據庫可以跨瀏覽器工作。
1- SQL像數據庫續集 (看起來適合繁重的工作!)
直接在瀏覽器中運行的查詢代碼示例:
SELECT empl_id, name, age
FROM empl
WHERE age < 30
2- JSON,例如DB taffydb (看起來適合日常活動!)
// Create DB and fill it with records
var friends = TAFFY([
{"id":1,"gender":"M","first":"John","last":"Smith","city":"Seattle, WA","status":"Active"},
{"id":2,"gender":"F","first":"Kelly","last":"Ruth","city":"Dallas, TX","status":"Active"},
{"id":3,"gender":"M","first":"Jeff","last":"Stevenson","city":"Washington, D.C.","status":"Active"},
{"id":4,"gender":"F","first":"Jennifer","last":"Gill","city":"Seattle, WA","status":"Active"}
]);
// Find all the friends in Seattle
friends({city:"Seattle, WA"});
3-既然您提到了移動,那么jstorage是一個跨瀏覽器的鍵值存儲數據庫,用於將數據本地存儲在瀏覽器中-jStorage支持所有主流瀏覽器,包括台式機(是的,甚至是Internet Explorer 6)和移動設備。
如果您想擁有更多選項->( client-side-browser-database )
最簡單的方法是使用localStorage。
window.localStorage.setItem("key", "value");
var value = window.localStorage.getItem("key");
如果您需要存儲更多數據並進行復雜的查詢,請使用真實的數據庫。
還有pouch db 。 我將其與Ionic App一起使用。 效果很好,非常容易學習和使用。 我僅將本地存儲用於臨時使用的次要數據(在會話中)。 即使在關閉並重新打開應用程序時也要保留數據,Pouchdb的效果很好。 默認情況下,它的調用是異步的。 與Promises一起運作良好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.