我正在尝试运行此函数:
public static void main(String[] args)
throws ParserConfigurationException, SAXException,
IOException, XPathExpressionException {
DocumentBuilderFactory domFactory =
DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(true);
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse("res/raw/test.xml");
XPath xpath = XPathFactory.newInstance().newXPath();
// XPath Query for showing all nodes value
XPathExpression expr = xpath.compile("//station/*/text()");
Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
for (int i = 0; i < nodes.getLength(); i++) {
System.out.println("zoekdit");
System.out.println(nodes.item(i).getNodeValue());
}
}
所以我把它放在课堂上:mainactivity。但是当我在我的日志里搜索的时候,我找不到“zoekdit”。。。
1条答案
按热度按时间2mbi3lxu1#
android不是这样工作的,一个名为main的方法不会被自动调用。
对于类似的情况,您应该在asynctask或intentservice中运行它,这样它就不会占用ui线程。谷歌如何使用异步任务。
您可以从活动内部运行asynctask。在onresume方法中,或者在按钮的onclicklistener或类似的东西中。
如果确实希望在应用程序启动时运行代码,可以从应用程序类的oncreate启动intentservice。您需要创建这个应用程序类。从应用程序扩展,并在清单中指向应用程序android:name parameter 创建的myapplication类的类路径。
例如