Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在androidwebview中使用缓存_Java_Android_Caching_Webview - Fatal编程技术网

Java 在androidwebview中使用缓存

Java 在androidwebview中使用缓存,java,android,caching,webview,Java,Android,Caching,Webview,我已经为我的WebView应用程序寻找了好几天的缓存解决方案。我找到的解决方案似乎对我不起作用。我在制作应用程序方面是个新手,同时缓存方面的变化不赞成许多旧的解决方案,这似乎妨碍了我 从本质上说,我拥有的是一个大的WebView,在底部导航栏上有一行按钮,可以更改WebView的URL。我想从缓存加载以前已加载的页面。这应该是WebView的默认行为,但它似乎没有更快地加载(应该是即时的,对吗?)。如果网络不可用,我还希望从缓存加载WebView 这是我之前尝试删除缓存的代码片段 @Overri

我已经为我的WebView应用程序寻找了好几天的缓存解决方案。我找到的解决方案似乎对我不起作用。我在制作应用程序方面是个新手,同时缓存方面的变化不赞成许多旧的解决方案,这似乎妨碍了我

从本质上说,我拥有的是一个大的WebView,在底部导航栏上有一行按钮,可以更改WebView的URL。我想从缓存加载以前已加载的页面。这应该是WebView的默认行为,但它似乎没有更快地加载(应该是即时的,对吗?)。如果网络不可用,我还希望从缓存加载WebView

这是我之前尝试删除缓存的代码片段

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
    navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);

    my_web_view = (WebView)findViewById(R.id.web_view); //grab a handle on the web wrapper

    //set all of our variables for use later
    home_URL = "https://akvcoc.com/app-home";
    events_URL = "https://akvcoc.com/app-events";
    directory_URL = "https://akvcoc.ctrn.co/directory/index.php";

    my_web_view.loadUrl(home_URL);                    //set the web wrapper to the home page

    my_web_view.getSettings().setJavaScriptEnabled(true);              //and set javascript to true

}

private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
        = new BottomNavigationView.OnNavigationItemSelectedListener()
{

    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item)
    {
        switch (item.getItemId())
        {
            case R.id.navigation_home:
                my_web_view.loadUrl(home_URL);
                return true;
            case R.id.navigation_events:
                my_web_view.loadUrl(events_URL);
                return true;
            case R.id.navigation_directory:
                my_web_view.loadUrl(directory_URL);
                return true;
        }
        return false;
    }
};

添加这一行是为了在webview中加载javascript

my_web_view.getSettings().setDomStorageEnabled(true);

你能在网站上使用javascript吗是的,我能在网站上使用javascript。正在加载的网页由我在这个项目中的同事管理。你能解释一下你的确切问题吗?我希望webview缓存应用程序按钮指向的页面,但它似乎没有这样做。每次单击按钮时,加载页面所需的时间相同。此外,如果我在加载页面一次后终止wifi和手机数据,即使应该缓存数据,它也不会进入该页面。很抱歉,我有一段时间没有看这篇文章了。我在争论我是将整个东西构建为本地的还是继续使用web视图。我们决定坚持使用webview。任何能帮忙的人都将不胜感激。