0

我是 Android 的菜鸟,我下载了一些源代码来帮助我学习一点。当我打开代码时,我注意到源代码的 Src 文件夹中包含的许多 .Java 文件没有 onCreate() 方法。我一直认为要让 .Java 类运行,它必须有一个 onCreate() 方法。

所以...所有的 .Java 文件都编译和运行一次吗?!

4

2 回答 2

0

.java 文件不需要总是有 onCreate() 方法。只有像 Activity、Service、BroadcastReceiver 这样的 Android 组件在其生命周期中包含这个 onCreate() 方法。

像 .java 这样的普通库只能具有带有有用方法声明的公共类,因此这些 .java 文件不需要声明 onCreate() 方法或 main()。

您在项目中看到的 .java 文件是普通的 .java 文件,可能只包含常量代码或库类/方法。

于 2012-10-27T01:49:32.067 回答
0

有帮助,彻底:

http://developer.android.com/training/basics/activity-lifecycle/index.html

解释其他(Android)Java 类如何工作:

没有 onCreate() 的类通常会有一个构造函数,像这样:

public class MyNewClass {
    // We'll leave getters and setters for later.
    int x, y;

    public MyNewClass(int x, int y){
        this.x = x;
        this.y = awesomeMethod(y);
    }

    static public int awesomeMethod(int awesome){
        return awesome*awesome;
    }
}

因此,当您进行活动时:

public class SadActivity extends Activity {
    MyNewClass myNewClass;

    @Override
    public void onCreate(Bundle b){
        super(b);
        myNewClass = new MyNewClass(2,2);
    }
}

在运行时,MyNewClass 的一个实例(称为 myNewClass)是使用构造函数创建的。它有一个方法 myNewClass.awesomeMethod() 可以用来平方整数。以及成员变量 myNewClass.x (2) 和 myNewClass.y (4)。

于 2012-10-27T04:05:33.847 回答