Подтвердить что ты не робот

Android - создание Webview DomStorage настойчиво после закрытия приложения

У меня возникла огромная проблема с разработкой приложения для Android, которое использует Webview для отображения данных. Веб-сайт, который я использую в webview, использует localStorage API HTML 5.

Чтобы включить эту функцию, я установил настройку веб-просмотра следующим образом:

webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setJavaScriptEnabled(true);

Итак, API-интерфейс localStorage работает, но когда я закрываю приложение (и убиваю процесс), localStorage полностью удаляется, и когда я его перезагружаю, все мои данные теряются.

Мой вопрос прост: как сделать DomStorage Webview устойчивым даже при закрытии приложения?

Благодарим вас за все ваши будущие ответы.

4b9b3361

Ответ 1

Вы установили DatabasePath? Android не знает, где сохранить DOMDatabase по умолчанию, если вы не установите его для вызова

webview.getSettings().setDatabasePath()

Ответ 2

// Confimed on android 2.1 emulator
// enable javascript localStorage

WebSettings webSettings = myWebView.getSettings();
webSettings.setDomStorageEnabled(true);   // localStorage

// e.g., if your package is www.myapp.whatever;
webSettings.setDatabasePath("/data/data/www.myapp.whatever/databases/");

Ответ 3

Вы должны включить базу данных, а также установить ее путь:

webview.getSettings().setDatabaseEnabled(true);
webview.getSettings().setDatabasePath();
webSettings.setDomStorageEnabled(true);

Первая линия поймала меня на некоторое время...

Ответ 4

В приведенном выше сообщении смешиваются два разных понятия:

Чтобы ваши данные сохранялись после закрытия сессии, убедитесь, что вы не используете (на вашем javascript) sessionStorage

DOMStorage и хранилище баз данных - это две разные вещи. Хранилище базы данных не является частью HTML5: http://www.tutorialspoint.com/html5/html5_web_sql.htm

DOMStorage больше связан с HTML5 и включает в себя хранилище сеансов, которое при создании дизайна исчезнет при закрытии браузера. Вы найдете больше обращений через поиск "локального хранилища", который "хранилище DOM".

http://viralpatel.net/blogs/introduction-html5-domstorage-api-example/

Таким образом, чтобы включить DOMstorage, вам просто нужно: webSettings.setDomStorageEnabled(истина);