【问题标题】:my java public static void main(String []args) with a simple println does not work in android studio我的带有简单 println 的 java public static void main(String []args) 在 android studio 中不起作用
【发布时间】:2016-02-20 07:07:46
【问题描述】:

我刚刚开始制作应用程序和 Java,我得到了一个像这样的简单代码:

package nekocorp.helpdesk;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class Start extends AppCompatActivity {
    public static void main(String []args) {
        System.out.println("It's a me Mario!");
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
}

它只显示 activity_start.xml 文件中的文本,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="nekocorp.helpdesk.Start">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello Me!" />
</RelativeLayout>

【问题讨论】:

    标签: java android


    【解决方案1】:

    在 Android 应用中,您不需要像在其他 Java 应用中那样使用 main() 方法。 Android 使用事件驱动模型。您必须了解的第一个事件称为“生命周期方法”。这些用于程序的不同阶段,例如创建和销毁程序。我建议您从this tutorial 开始,以帮助您了解Android 编程的这一重要部分。

    此外,println() 没有可以显示消息的“控制台”。相反,您必须使用定义应用外观的不同元素创建图形用户界面 (GUI)。在 Android Studio 中创建新项目时,选择“Empty Activity”以查看带有简单“Hello,Android”消息的应用示例。

    【讨论】:

      【解决方案2】:

      删除你的

      public static void main(String []args) { System.out.println("It's a me Mario!"); }

      在android开发中,你只需要onCreate()static void main是针对纯Java应用的。所以请尝试以下方法:

      package nekocorp.helpdesk;
      
      import android.support.v7.app.AppCompatActivity;
      import android.os.Bundle;
      
      public class Start extends AppCompatActivity {
      
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              System.out.println("It's a me Mario!");
          }
      

      }

      【讨论】:

        【解决方案3】:

        虽然您可以从 onCreate() 调用静态 main 方法,但您似乎甚至没有阅读文档。 您的活动有一个lifecycle。 onCreate() 是您的活动即将开始时调用的生命周期方法之一。所以你的编码应该从这里开始(作为开始)。

        【讨论】:

          【解决方案4】:

          对于 Android,您无需定义 main() 函数。你有一个 onCreate() 代替,它总是在实际 Activity 启动时调用。

          因此,不要在 main() 函数中编写代码,而是将其全部写入 onCreate() 并删除 main。

          我建议您take a look 到 Android 的 Activity Cycle,以便您了解在 Android Activity 执行期间调用了哪些方法以及何时调用它们。

          【讨论】:

            猜你喜欢
            • 2016-05-22
            • 1970-01-01
            • 2018-11-12
            • 2012-08-10
            • 2018-04-26
            • 1970-01-01
            • 2016-07-14
            • 2019-03-19
            • 1970-01-01
            相关资源
            最近更新 更多