使用WebView.loadUrl(字符串)加载存储在zip扩展文件中的png文件
我试图使用WebView.loadUrl(字符串)显示一个png文件,其中png文件存储在Android中的zip APK扩展文件中。扩展文件的路径为:使用WebView.loadUrl(字符串)加载存储在zip扩展文件中的png文件,webview,zip,png,apk-expansion-files,Webview,Zip,Png,Apk Expansion Files,我试图使用WebView.loadUrl(字符串)显示一个png文件,其中png文件存储在Android中的zip APK扩展文件中。扩展文件的路径为: Environment.getExternalStorageDirectory()+"/Android/obb/com.example.myapp/main.1.com.example.myapp.obb"; 因此,我使用以下命令来显示文件mypicture.png String url = "jar:file:/" + Environmen
Environment.getExternalStorageDirectory()+"/Android/obb/com.example.myapp/main.1.com.example.myapp.obb";
因此,我使用以下命令来显示文件mypicture.png
String url = "jar:file:/" + Environment.getExternalStorageDirectory()+"/Android/obb/com.example.myapp/main.1.com.example.myapp.obb!/mypicture.png";
WebView wv;
... // code to setup the webview
wv.loadUrl(url);
我在链接中得到错误网页不可用
罐子:file://storage/sdcard0/Android/obb/com.example.myapp/main.1.com.example.myapp.obb!/mypicture.png
String url = "jar:file:/" + Environment.getExternalStorageDirectory()+"/Android/obb/com.example.myapp/main.1.com.example.myapp.obb!/mypicture.png";
WebView wv;
... // code to setup the webview
wv.loadUrl(url);
我知道我的扩展文件在那里并且包含png文件,因为我有一些测试代码来从扩展文件中提取png文件。当我指向提取的png文件外部时,wv.loadUrl(提取的\u png\u位置)会正确显示png。我只是无法让它显示压缩扩展文件中的png文件
那么zip文件中png文件的路径一定是错误的?或者甚至可以直接在zip中的文件上使用loadUrl()。我也有同样的问题。我的webview内容太大,无法在应用程序中交付,但无法通过webview访问扩展下载的zip提交,因为它需要直接路径 使用google的Zip库是没有选择的,因为它只返回流,而webview不处理流 从路径加载数据的方法似乎是本机实现的,不可能重写任何内容 解压是没有选择的,因为你不能删除压缩文件。应用程序会注意到它并开始重新下载,所以你无论如何都需要保留它
唯一的解决方案是编写自己的更新程序,直接下载内容并解压缩这是一个很好的替代方法,可以使用工具打包扩展文件并装载它。之后,扩展文件中的文件应该可以作为文件系统中的常规文件进行访问。在这种情况下,不需要解压缩扩展文件