我正在尝试使用SAX解析器解析来自webservice的xml数据,当我尝试使用URL解析数据(大小:7.4MB)时,它工作正常,但是当我从URL复制xml数据时并将xml文件(大小:7.4MB)放在原始文件夹中,解析失败。
当放置在原始文件夹中的文件大小减少到1.95MB时,它可以正常工作。我试过洗牌以检查数据是否有任何问题,我没有发现任何问题。只要尺寸不超过1.95MB,它就能正常工作。从android中的原始文件夹解析数据时是否有任何大小限制?如果是的话是什么限制?或者如何使用SAX解析器解析大文件?
任何指针都会对我有所帮助。提前感谢您的时间和任何帮助。
此致 拉梅什
02-14 17:35:35.651: DEBUG/asset(11035): Data exceeds UNCOMPRESS_DATA_MAX (2138421 vs 2097152)
02-14 17:35:35.651: WARN/dalvikvm(11035): threadid=9: thread exiting with uncaught exception (group=0x4001d7d0)
02-14 17:35:35.659: ERROR/AndroidRuntime(11035): FATAL EXCEPTION: Thread-13
02-14 17:35:35.659: ERROR/AndroidRuntime(11035): java.lang.AssertionError: java.io.IOException
02-14 17:35:35.659: ERROR/AndroidRuntime(11035): at android.util.Xml.parse(Xml.java:89)
码
try {
System.out.println("1");
//Xml.parse((url.openConnection().getInputStream()), Encoding.UTF_8, datahandler);
Xml.parse(getResources().openRawResource(R.raw.sample), Encoding.UTF_8, datahandler);
System.out.println("2");
//xr.parse(new InputSource(getAssets().open("sample.xml")));
}catch(Exception e){
System.out.println("Ramesh"+"XML Parsing exception:"+e);
}
错误
Android DEBUG/asset(11035): Data exceeds UNCOMPRESS_DATA_MAX (2138421 vs 2097152)
WARN/dalvikvm(11035): threadid=9: thread exiting with uncaught exception (group=0x4001d7d0)
ERROR/AndroidRuntime(11035): FATAL EXCEPTION: Thread-13
ERROR/AndroidRuntime(11035): java.lang.AssertionError: java.io.IOException
ERROR/AndroidRuntime(11035): at android.util.Xml.parse(Xml.java:89)
ERROR/AndroidRuntime(11035): at com.infosys.gss.ui.Login$2$1.run(Login.java:431)
ERROR/AndroidRuntime(11035): Caused by: java.io.IOException
答案 0 :(得分:0)
感谢您的评论。我找到了一个解决方法,感谢Brian在这里发布了解决方案'http://ponystyle.com/blog/2010/03/26/dealing-with-asset-compression-in-android-apps/'。这个链接对我很有帮助。