m面临过去2天我们如何在Google Play上传大小超过50Mb的.apk文件的问题,然后我找到了一种从链接http://developer.android.com/guide/market/expansion-files.html上传带有APK扩展文件的.apk的方法 现在m成功结束但现在有问题我如何从我的对象中的主扩展文件中读取文件,就像它是.obb格式
但现在能够使用主扩展文件中的.mp3文件,如:
AssetFileDescripto assetFileDescriptor = zipResourceFile.getAssetFileDescriptor(
"assets/all_types_of_people1.mp3");
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource( assetFileDescriptor.getFileDescriptor(),
assetFileDescriptor.getStartOffset(),assetFileDescriptor.getLength());
但是我们如何才能将主扩展文件中的图像用于WebView?
答案 0 :(得分:1)
由于可以从zipResourceFile获取流,因此可以使用BitmapFactory从它们创建图像。
InputStream is = zipResourceFile.getInputStream("myFilePath.jpg");
BitmapFactory.Options bfo = new BitmapFactory.Options();
bfo.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap b = BitmapFactory.decodeStream(is, null, bfo);
请注意,由于解码需要一些时间,因此您需要在UI线程中执行此操作。
答案 1 :(得分:0)
dagalpin已经给出了如何获得InputStream的方法。
读取您的HTML文件并将其转换为UTF-8字符串。
并加载如下。
// you can also load from an HTML string:
String summary = "<html><body>You scored <b>192</b> points.</body></html>";
webview.loadData(summary, "text/html", null);
// ... although note that there are restrictions on what this HTML can do.
// See the JavaDocs for loadData() and loadDataWithBaseURL() for more info.
我还没有测试过。但它似乎有效。
答案 2 :(得分:0)
使用 expansionfiles / myFilePath.jpg
而不是仅使用图片名称InputStream is = zipResourceFile.getInputStream(&#34; expansionfile / myFilePath.jpg&#34;);