Java Android WebView获取本地存储值

Java Android WebView获取本地存储值,java,android,android-webview,Java,Android,Android Webview,我使用Android WebView加载URL,web应用程序使用缓存并将值存储在浏览器应用程序->本地存储->www.123xyz.com->评分 每当web应用程序中发生活动时,它都会存储在本地存储器中,工作正常 现在我想检索本地存储值并将其存储在android的SQLite数据库中。如果web应用程序执行不正确,那么我希望从SQLite数据库中检索值,并将其设置在本地存储的评分键中 mWebView.getSettings().setJavaScriptEnabled(true);

我使用Android WebView加载URL,web应用程序使用缓存并将值存储在浏览器应用程序->本地存储->www.123xyz.com->评分

每当web应用程序中发生活动时,它都会存储在本地存储器中,工作正常

现在我想检索本地存储值并将其存储在android的SQLite数据库中。如果web应用程序执行不正确,那么我希望从SQLite数据库中检索值,并将其设置在本地存储的评分键中

    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setDomStorageEnabled(true);
    mWebView.getSettings().setDatabaseEnabled(true);
    Log.e("Database",getFilesDir().getParentFile().getPath()+"/databases/");
    mWebView.getSettings().setDatabasePath(getFilesDir().getParentFile().getPath()+"/databases/");
    mWebView.getSettings().setAppCacheMaxSize(1024*1024*8);
    Log.e("Cache",getApplicationContext().getCacheDir()+"/scoring");
    mWebView.getSettings().setAppCachePath( getApplicationContext().getCacheDir()+"/scoring");
    mWebView.getSettings().setAllowFileAccess(true);
    mWebView.getSettings().setAppCacheEnabled(true);
    mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);

    String url= getResources().getString(R.string.scoringurl);
    mWebView.loadUrl(url);
更新:

现在我可以通过下面的代码访问localstorage,并能够检索这些值。现在,我希望每30秒或localstorage中发生更改时获取该值

有办法吗。我想它必须通过定时器来完成,并且在不降低应用程序速度的情况下,有人能帮我吗

    mWebView.setWebViewClient(new WebViewClient(){
        @Override
        public void onPageFinished(WebView view, String url) {
            view.evaluateJavascript("javascript:window.localStorage.getItem('scoring')", new ValueCallback<String>() {
                @Override public void onReceiveValue(String s) {
                    Log.e("OnRecieve",s);
                }
            });
            super.onPageFinished(view, url);
        }
    });
mWebView.setWebViewClient(新的WebViewClient(){
@凌驾
公共void onPageFinished(WebView视图,字符串url){
view.evaluateJavascript(“javascript:window.localStorage.getItem('scoring')”,new-ValueCallback(){
@重写公共void onReceiveValue(字符串s){
Log.e(“收到”,s);
}
});
super.onPageFinished(视图、url);
}
});

放置一个计时器,定期检查变化,就可以完成这项任务。正确的?