【问题标题】:how to add simple code to an android application如何将简单的代码添加到 android 应用程序
【发布时间】:2011-02-17 19:47:18
【问题描述】:

对于您将常规 java 代码放在 android 应用程序中的什么位置,我有些困惑。

我使用的是 Eclipse SDK,默认情况下,当您创建应用程序时,它会使用 OnCreate() 方法生成一个 .java 文件。这是我将代码放在这个方法中的地方吗?

现在在我的布局中我有一个 imageButton,一旦单击此按钮,我想打开一个新的 WebView 页面,该页面从资产文件夹中的 index.html 文件中获取它的 HTML 代码。这就是我目前所拥有的......

    Button button = (Button)findViewById(R.id.imagebutton1);
    if(button.isPressed())
    {
        WebView webview = new WebView(null);
        setContentView(webview);
        try {
            InputStream fin = getAssets().open("index.html");
                byte[] buffer = new byte[fin.available()];
                fin.read(buffer);
                fin.close();
                webview.loadData(new String(buffer), "text/html", "UTF-8");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

我在 onCreate() 方法的最后一行下面有这段代码:

setContentView(R.layout.main);

但是,一旦我运行该程序,它就会崩溃并告诉我它无法启动。我假设它与代码在 onCreate 中的事实有关。我知道它不是我应该放它的地方,但我想不出代码应该放在哪里。我应该制作一个新的 .java 文件并在那里有一个主要方法吗?我目前正在学习 C++ 和 C# 的课程,所以这个 android 的东西对我来说仍然是新事物。

【问题讨论】:

    标签: java android html oncreate


    【解决方案1】:

    你完成tutorials了吗?如果不是,我会从那里开始了解创建和使用 Android Activity 的基础知识。完成它们后,请阅读 application fundamentals 以更全面地了解生命周期。

    【讨论】:

      【解决方案2】:

      您不应在 onCreate 中多次调用 setContentView。 WebView 应该在您的 main.xml 布局文件中,或者启动一个新的 Activity,其布局包含 WebView。并且还要将 onClick 按钮放在您需要调用 setOnClickListener() 的按钮上。

      【讨论】:

      • 要做到这一点,我是否要创建一个新的 .java 文件,与默认文件非常相似,并在类声明行中包含“extends Acitivy”?然后在 setContentView() 行中,我不使用 main,而是使用新的 xml 布局文件的名称?
      • @Connor 如果你想单击一个按钮并启动一个包含 WebView 的新 Activity,那么你需要有另一个 Activity。
      • 如何创建新活动?
      【解决方案3】:

      请参阅Handling UI Events

      另外,如果您的程序崩溃,如果您提供来自 logcat 的错误消息将会很有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-02
        • 1970-01-01
        • 1970-01-01
        • 2016-01-09
        • 1970-01-01
        • 2011-04-27
        • 1970-01-01
        • 2012-10-09
        相关资源
        最近更新 更多