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