Какая разница между DomStorage
, Database
и AppCache
в Android WebView?
Меня смущают эти три настройки. Теперь мне нужен экземпляр WebView, который я могу использовать localStorage
в JavaScript.
Вот пример:
if (localStorage['avatar_user_' + nick]) {
obj.src = localStorage['avatar_user_' + nick];
} else {
var url = avatar_path + nick + '/avatar.jpg';
new Oauth().img("jpeg", url,
function(data) {
if (data != '') {
obj.src = data;
localStorage['avatar_user_' + nick] = data;
}
}, function() {}
);
}
В приведенном выше коде я действительно получаю изображение из Интернета, и оно будет загружено из локального хранилища в следующий раз, когда оно мне понадобится, но хранилище длится только до тех пор, пока время жизни приложения.
Если я перезапущу свое приложение, изображение снова будет загружено из Интернета.
Я настраиваю свой WebView следующим образом:
mWebSettings.setAppCacheEnabled(true);
mWebSettings.setDomStorageEnabled(true);
mWebSettings.setDatabaseEnabled(true);
mWebSettings.setDatabasePath("file:///data/data/com.xxx/databases");
но я вижу, что файлы в file:///data/data/com.xxx/databases
остаются неизменными, когда я добавляю что-то в localStorage.
Итак, мой вопрос: как заставить мои веб-страницы хранить данные и сохранять их после закрытия приложения?
И имеет ли значение, если я использую несколько WebView в приложении и указываю DatabasePath
на одну и ту же папку?
И если бы вы могли сказать мне разницу между DomStorage
, Database
и AppCache
, было бы намного лучше!