将特定资源(图像等)的加载委托给Android WebView中的本地文件系统?
我在我的Android应用程序中使用WebView来加载我们的Web应用程序,例如将特定资源(图像等)的加载委托给Android WebView中的本地文件系统?,android,webview,Android,Webview,我在我的Android应用程序中使用WebView来加载我们的Web应用程序,例如 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); _web_view = (WebView) findViewById(R.id.web); _web_view
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
_web_view = (WebView) findViewById(R.id.web);
_web_view.loadUrl(R.strings.url);
}
到目前为止,一切顺利
我想做的是,当WebView请求可用资产时,有选择地选择从本地Android文件系统加载它们。我的想法是,通过将静态图像资产打包到Android中并从文件系统提供服务,而不是从web服务器请求它们,我将节省大量的加载时间和带宽
我看到WebViewClient类有一个onLoadResource方法。这与我想要的非常接近,只是我想有一种方法告诉应用程序“不,不要从那个url下载,而是使用这个url”(并指向本地文件系统)
到目前为止,我能想到的最好的方法是简单地使用指向Android文件系统的.html文件的不同副本,但我更愿意有选择地替换客户端上的资产,而不是在服务器上维护两个html副本
谢谢 请看一下重写。这似乎是你想要的。缺点是需要API 11+。看看重写。这似乎是你想要的。缺点是需要API 11+。Nice!不知道我怎么会错过这个;我发誓我看过文件;)美好的不知道我怎么会错过这个;我发誓我看过文件;)