0

我正在尝试运行此功能:

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。但是当我在我的 logcat 中搜索时,我找不到“zoekdit”......

4

1 回答 1

0

Android 不能那样工作,不会自动调用名为 main 的方法。

对于类似的事情,您应该在 AsyncTask 或 IntentService 中运行它,这样它就不会阻塞 UI 线程。谷歌如何使用 AsyncTasks。

您将从活动内部运行 AsyncTask。在 onResume 方法中,或者在按钮的 onClickListener 或类似的东西中。

如果你真的想让代码在 App 启动时运行,你可以从 Application 类的 onCreate 中启动一个 IntentService。您需要创建此应用程序类。从 Application 扩展,并在清单中,将 Application android:name 参数指向您创建的 MyApplication 类的类路径。

例如

<!-- App manifest-->
<Application
   android:icon="@drawable/ic_launcher"
   android:name="com.myapp.myapplication"
>

<!-- declare activities-->
<Activity/>
</Application>
于 2013-06-06T10:58:21.310 回答