Android中的扩展文件

时间:2013-10-23 06:14:06

标签: android apk-expansion-files

我正在研究在android中创建一个扩展文件。我在这方面遇到了一些问题:

出于测试目的,我创建一个.zip文件,其中包含一些视频,然后保存.obb扩展名。现在我的SD卡中的文件是main.1.com.xyz.abc.obb.zip

现在我在阅读文件时面临一些问题。执行此操作的代码:

String fileName = Helpers.getExpansionAPKFileName(this, true, 1);
        String path = Environment.getExternalStorageDirectory()+File.separator + "Android"
                + File.separator + "obb" + File.separator + fileName+".zip";
        InputStream ins = getExpansionFile().getInputStream(Environment.getExternalStorageDirectory()+File.separator + "Android"
                          + File.separator + "obb" + File.separator + fileName+File.separator+"video123.mp4");
        String name=ins.toString();




public ZipResourceFile getExpansionFile() {

    String fileName = Helpers.getExpansionAPKFileName(this, true, 1);

            int filesize = 108902927;
    if (Helpers.doesFileExist(this, fileName+".zip",filesize , false)) {

        try {
            return APKExpansionSupport.getAPKExpansionZipFile(
                    getBaseContext(), 1, 1);

        } catch (IOException e) {
            // TODO Auto-generated catch block

            e.printStackTrace();
        }
    }
    return null;       
    }

现在

InputStream ins = getExpansionFile().getInputStream(Environment.getExternalStorageDirectory()+File.separator + "Android"
                          + File.separator + "obb" + File.separator + fileName+File.separator+"video123.mp4");

方法返回null。

请为我提供任何解决方案。

提前致谢。

1 个答案:

答案 0 :(得分:0)

  

getExpansionFile()。getInputStream(Environment.getExternalStorageDirectory()+ File.separator +“Android”                             + File.separator +“obb”+ File.separator + fileName + File.separator +“video123.mp4”);;

错误是ZipResourceFile中的文件由相对路径映射,而不是绝对路径。在这种情况下,从ZipResourceFile获取文件的关键只是

  

fileName + File.separator +“video123.mp4”