2012-02-02 33 views
10

Dường như đã được hỏi trước nhưng tôi không tìm thấy câu trả lời thỏa đáng.
Khi tạo ứng dụng khoảng cách iOS Phone, mọi ứng dụng html5 trên IPAD là hạn chế của chúng đối với kích thước của cơ sở dữ liệu khi được biên dịch sang ứng dụng gốc? Tôi biết rằng nói chung có giới hạn 5MB đối với lưu trữ riêng cho các ứng dụng web. Giới hạn này cũng có cho các ứng dụng xem web gốc không?Kích thước tối đa của cơ sở dữ liệu WebSQL/SQLite bên trong UIWebView (phonegap)

Trả lời

19

Có, WebKit DB cũng bị giới hạn ở 5mo.

Bạn có thể đánh lừa hệ thống với giải pháp này: https://issues.apache.org/jira/browse/CB-330?focusedCommentId=13237796&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13237796

Hoặc bạn có thể sử dụng một DB SQLite mẹ đẻ (giống như WebSQL) với một plugin PhoneGap. Plugin đó lưu cơ sở dữ liệu trong thư mục Tài liệu (hoặc bạn có thể chỉ định một thư mục khác), và không có giới hạn kích thước và dữ liệu được lưu bởi iCloud. (Tuy nhiên, chăm sóc, Apple không thực sự như các ứng dụng lãng phí lưu trữ iCloud)

Đây là Native SQLite PhoneGap plugin: https://github.com/davibe/Phonegap-SQLitePlugin Về plugin này, có một số sự khác biệt giữa các API WebSQL, đây là một bộ chuyển đổi: https://gist.github.com/2009518

Và nếu dữ liệu quan trọng, bạn nên lưu nó vào máy chủ. Tôi đã viết một thư viện nhỏ để đồng bộ hóa SQlite DB với máy chủ: https://github.com/orbitaloop/WebSqlSync

+1

Còn Android thì sao? –

+0

Chỉ cần lưu ý vấn đề xóa dữ liệu Webkit đã biến mất: Trong iOS 6 trở lên, dữ liệu web (SQL Web Storage và LocalStorage) từ một đối tượng UIWebView có thể được lưu trữ trong thư mục sẽ được sao lưu. Để bật sao lưu dữ liệu này, hãy đặt khóa WebKitStoreWebDataForBackup thành CÓ trong cài đặt mặc định của người dùng của bạn. Điều này chỉ nên được thực hiện nếu ứng dụng của bạn dựa vào dữ liệu nội dung web không thể tải lại được. Nếu đối tượng UIWebView của bạn mở các liên kết đến nội dung web tùy ý, thì khóa này phải được đặt thành NO. Toggling giá trị của khóa này sẽ không bảo vệ dữ liệu xem web hiện tại. –

Các vấn đề liên quan