Android资产没有读取值?

Android资产没有读取值?,android,assets,Android,Assets,在本例中,“i”为-1,表示未读取任何内容 如果文件存在,为什么什么都不存在?变量“files”也有文件 我是否需要对我放入资产文件夹中的文件执行任何操作以使其可读 注意:当我使用一个小文本文件时,它可以工作。当我使用一个10兆的文件,它没有。(10MEG是我需要安装的Sqlite数据库)您不能将10MB的文件放入APK中。您需要将其分为10个1MB文件。更好的方法是,以其他方式分发数据库,例如在应用程序第一次运行时将其下载到SD卡。如果APK太大,许多用户将无法安装。将文件重命名为XXXXXX

在本例中,“i”为-1,表示未读取任何内容

如果文件存在,为什么什么都不存在?变量“files”也有文件

我是否需要对我放入资产文件夹中的文件执行任何操作以使其可读


注意:当我使用一个小文本文件时,它可以工作。当我使用一个10兆的文件,它没有。(10MEG是我需要安装的Sqlite数据库)

您不能将10MB的文件放入APK中。您需要将其分为10个1MB文件。更好的方法是,以其他方式分发数据库,例如在应用程序第一次运行时将其下载到SD卡。如果APK太大,许多用户将无法安装。

将文件重命名为XXXXXX.png,这样它就不会被压缩,然后就可以被复制。

我发现一位谷歌工程师的帖子说,问题是因为系统压缩了资源,无法解压缩大于1兆的文件。解决方案是将数据库重命名为XXXXX.png,这样它就不会被压缩。然后一切都很好。啊,对了,我已经忘记了伪造文件扩展名的把戏。我道歉。
        AssetManager assets = myContext.getAssets();
        String[] files = assets.list("MyFolder");
        InputStream myInput = assets.open("MyFolder/" + files[0]);
        int i = myInput.read();