我正在使用AsyncTask
从i-net下载和解析XML内容。下载和解析xml发生在doInBackground()
方法中。 “dalvikvm”遇到问题 - 找不到方法。
以下是 LogCat:
的日志06-30 13:26:41.148: DEBUG/dalvikvm(507): GC freed 796 objects / 68088 bytes in 112ms
06-30 13:26:41.667: INFO/ActivityManager(52): Displayed activity com.news.reader/.SplashScreen: 5305 ms (total 63417 ms)
06-30 13:26:45.097: INFO/ActivityManager(52): Starting activity: Intent { cmp=com.news.reader/.DirBgNewsReader }
06-30 13:26:45.418: ERROR/dalvikvm(507): Could not find method javax.xml.stream.XMLInputFactory.newInstance, referenced from method com.news.reader.DirBgNewsReader.parse
06-30 13:26:45.427: WARN/dalvikvm(507): VFY: unable to resolve static method 104: Ljavax/xml/stream/XMLInputFactory;.newInstance ()Ljavax/xml/stream/XMLInputFactory;
06-30 13:26:45.427: WARN/dalvikvm(507): VFY: rejecting opcode 0x71 at 0x0013
06-30 13:26:45.427: WARN/dalvikvm(507): VFY: rejected Lcom/news/reader/DirBgNewsReader;.parse (Ljava/lang/String;)V
06-30 13:26:45.427: WARN/dalvikvm(507): Verifier rejected class Lcom/news/reader/DirBgNewsReader;
06-30 13:26:45.439: WARN/dalvikvm(507): Class init failed in newInstance call (Lcom/news/reader/DirBgNewsReader;)
06-30 13:26:55.217: WARN/ActivityManager(52): Launch timeout has expired, giving up wake lock!
06-30 13:26:55.217: WARN/ActivityManager(52): Activity idle timeout for HistoryRecord{4396eb68 com.news.reader/.DirBgNewsReader}
06-30 13:27:00.300: WARN/ActivityManager(52): Activity destroy timeout for HistoryRecord{43814048 com.news.reader/.SplashScreen}
有人可以帮我解释为什么找不到指定的方法吗?
谢谢!
答案 0 :(得分:4)
看起来Android上没有StAX,但可以使用“等效”XmlPullParser。
答案 1 :(得分:2)
我发现Blog Post simple-xml-in-android-1-5-and-up(dleerob和Triminmon的答案)很有帮助,因为它解释了Simple XML正在做什么:
现在这些是一些奇怪的错误......简而言之,就在这里,Simple XML运行一些反思魔法,以查看它可以实际用于序列化XML的类。简单的XML基本上可以在任何地方工作(这就是它适用于Android 1.5的原因),这个反射代码告诉它当前平台可以使用它。它还会缓存此反射的结果,因此您只会看到这些错误消息出现一次,然后如果您愿意,Simple XML会自动“重新配置”它。
答案 2 :(得分:-1)
这篇博客文章准确地解释了这些错误发生了什么,并且可以安全地忽略它们。