Java 在使用getResources()时,是否有避免大小限制的方法。openRawResource()

Java 在使用getResources()时,是否有避免大小限制的方法。openRawResource(),java,android,Java,Android,当应用程序第一次运行时,我正在尝试从Android项目的res/raw文件夹加载一个XML文件。我是这样做的: InputStream xmlStream = getResources().openRawResource(R.raw.xmlfile); 然后我想使用SAX解析器从XML文件中获取数据。执行此操作时,LogCat显示以下错误: Data exceeds UNCOMPRESS_DATA_MAX (1290892 vs 1048576) 在这个1MB限制附近有没有其他限制 在谷歌搜

当应用程序第一次运行时,我正在尝试从Android项目的res/raw文件夹加载一个XML文件。我是这样做的:

InputStream xmlStream = getResources().openRawResource(R.raw.xmlfile);
然后我想使用SAX解析器从XML文件中获取数据。执行此操作时,LogCat显示以下错误:

Data exceeds UNCOMPRESS_DATA_MAX (1290892 vs 1048576)
在这个1MB限制附近有没有其他限制

在谷歌搜索了几次之后,我发现有人将他们的文件分成1MB的块,但这些不是XML文件,所以我不确定在为我的SAX解析器创建InputSource之前如何重新加入它们

我的文件不是由我创建的,所以我不能真正编辑它(尽管我可能不得不这样做),如果我从互联网上检索它,我的代码就可以工作。它的大小大约为1300kb,所以我不想每次应用程序运行时都下载它

在这个1MB限制附近有没有其他限制


为文件指定一个扩展名,该扩展名在生成过程中不会被
aapt
压缩。例如,我认为它跳过了压缩
.mp3
文件。

+1这是一种享受!非常感谢。将在稍后回答的问题上打勾,等待任何其他解决方案!你好,先生,我也面临同样的问题。我试过你的解决方案,效果很好。但是.mp3扩展名似乎不适合数据库文件。现在我想知道,哪些文件类型在Android中没有被压缩?(除了mp3之外,我还可以将其他适当的扩展名用于我的数据库文件)。