在android上从apk中加载一个Zip文件

时间:2014-11-05 18:05:11

标签: java android libgdx

我正在用LibGDX框架创建一个平台游戏。 我的引擎中的级别文件是一个zip文件,其中包含带有leveldata的文本文件和一个包含纹理和声音等级别所有资源的资源文件夹。 我正在加载这样的级别:

    ZipFile archive = null;
    try {
        archive = new ZipFile(new File("test.zip"));
    } catch (ZipException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

它在桌面上工作得很好,水平文件在jar旁边,但在android上却没有。它会抛出一个未找到exeption的文件。 这是合乎逻辑的,因为

new ZipFile(new File("test.zip"));

指的是apk旁边的zip文件。现在我想要从assets文件夹加载它们,或者从apk旁边的levels文件夹加载它们。我尝试将zipfile放入assets / maps文件夹并使用以下代码加载它:

new ZipFile(Gdx.files.internal("maps/test.zip").file());

但是这导致了相同的文件找不到exeption。 所以我的问题是:如何从libGDX的assets文件夹中加载zip文件?

0 个答案:

没有答案