android h5 使用localStorage存储数据

localStorage在android这边存储数据注意要点总结:
1.打开domStorage

   webSettings.setDomStorageEnabled(true);

2.在onPageFinished里面进行存值

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                view.evaluateJavascript("window.localStorage.setItem('LOGIN_STATUS_TOKEN','" + token + "');", new ValueCallback() {
                    @Override
                    public void onReceiveValue(String value) {
                        LogUtil.d("-----first receive value is "+value);
                    }
                });
            } else {
                view.loadUrl("indow.localStorage.setItem('LOGIN_STATUS_TOKEN','" + token +"');");
                view.reload();
            }

3.一定要设置cacheMode为WebSettings.LOAD_NO_CACHE

webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);

网上几乎没有说这一点的,而我就是没设置,在这个坑里呆了好久。记住,这个一定要设置!!!!!!!
localStorage获取值得方式

String js = "window.localStorage.getItem('LOGIN_STATUS_TOKEN');";
view.evaluateJavascript(js, new ValueCallback() {
                    @Override
                    public void onReceiveValue(String value) {
                      //这个value就是取得的值啦
                    }
                });

附一些其他用法

    sessionStorage.setItem("key","value");//存储
    sessionStorage.getItems(key);//按key进行取值
    sessionStorage.removeItems(key);//按key单个删除
    sessionStorage.clear();//删除全部数据
    sessionStorage.length;//获得数据的数量
    sessionStorage.valueOf();//获取全部值

感谢这个帖子的作者,从里面学到很多。https://blog.csdn.net/qq_42068550/article/details/92795955

你可能感兴趣的:(android h5 使用localStorage存储数据)