【问题标题】:How to run a function on Create of the app如何在创建应用程序时运行函数
【发布时间】:2013-06-06 10:40:37
【问题描述】:

我正在尝试运行此功能:

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”...

【问题讨论】:

标签: java android function void


【解决方案1】:

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

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

您可以从 Activity 内部运行 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>

【讨论】:

    猜你喜欢
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    相关资源
    最近更新 更多