如何在jquery mobile for android中缓存页面

时间:2012-08-31 09:30:19

标签: android cordova jquery-mobile mobile-application

我正在开发一个带有phonegap和jquery mobile for android的移动应用程序。它工作正常,但从服务器获取数据需要很长时间。

我想缓存其页面,因此如果用户返回同一页面,他可以查看同一页面。 我正在使用jquery移动缓存代码,但它无法正常工作。

我正在使用此代码data-dom-cache="true"进行缓存

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.appView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
        super.loadUrl("file:///android_asset/www/find.html");
    }

2 个答案:

答案 0 :(得分:1)

缓存无法在我的应用中运行,因此我通过执行此操作将所有json数据存储在localstorage中

window.localStorage.setItem("ALL_USERS",JSON.stringify(data));

其中data是我从服务器检索的json对象。

下次我从localstorage中检索数据

window.localStorage.setItem("ALL_USERS",JSON.stringify(data));
users = JSON.parse(users);

这个解决方案解决了我的问题,希望能帮到别人 感谢

答案 1 :(得分:0)

在Android应用程序活动文件的onCreate()方法中调用以下代码:

super.appView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

如果内容存在,上述方法使用缓存,即使已过期(例如,历史导航)。如果它不在缓存中,请从网络加载

请查看WebSettings常量以获取缓存设置:

http://developer.android.com/reference/android/webkit/WebSettings.html