【问题标题】:Classes vs Activities in AndroidAndroid 中的类和活动
【发布时间】:2012-02-09 06:52:28
【问题描述】:

我是 Android 开发的初学者,但不是编程本身。反正这个问题可能有点傻。

问题是:Android Activity 中的所有类都与 UI 元素相关吗?我想要一个“常规”Java 类,我通常可以从中创建对象,但我不知道如何“定义”以及如何“调用”它。

任何帮助将不胜感激。谢谢

【问题讨论】:

  • 创建一个包含类的 Java 源文件。部署后,使用与任何其他 Java 类相同的“新”实例化该类。不确定是什么问题;您的 IDE 或构建环境有问题吗?
  • 我想我不确定自己的问题是什么。我只是在努力编写一个类并从中创建对象,而不必使用 UI。

标签: java android class


【解决方案1】:

是的,您可以拥有常规类,但它们并非都与 UI 元素相关。这很像普通的Java。因此,在 Eclipse 中,您可以像图片中那样创建一个新类,然后按照单页向导进行操作。

您最终会得到如下代码(我为示例添加了一些代码):

package this.is.your.package;

public class Person{

    private int age;

    public void setAge(int _age)
    {
        age = _age;
    }

}

然后您可以正常构建方法和其他内容。至于实例化或访问您的类,您可能必须将其公开以供活动获取。然而,有很多不同的方法可以做到这一点,但对于上面的例子,我可以做到。

public class MyActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Person me = new Person();
        me.setAge(22); //feels old
    }

如您所见,这一切都很正常。

【讨论】:

  • 谢谢,我想我现在明白了 :)
  • 很高兴为您提供帮助-我可以看到您是 SO 新手-您能否通过勾选符号将答案标记为正确,以便其他用户可以查看是否有有用的答案。还要感谢 vitakot 的回答,这也很有用。
  • 还有一个问题:我可以使用 java.util.Random 之类的 java 库,还是需要特定的 android 库?谢谢
  • 大多数是 - 你必须看到。至于你的例子 - 在活动中添加'import java.util.Random;'。如果您键入 Random random = new Random();,Eclipse 会随时为您提供帮助。 - 'Random' 将带有下划线,Eclipse 将提供导入 java.Util.Random。
  • 这里是如何将库/JAR 添加到您的项目stackoverflow.com/questions/3642928/…
【解决方案2】:

答案是否定的。所有活动都是常规的 Java 类,你可以 - 当然,有许多非 UI 类,如 Application,你可以有助手等......如果我理解你的问题,你会被 Activity 没有的事实所迷惑有用户定义的构造函数,只能通过调用startActivity方法间接创建,但在其他方面它是一个普通的Java类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 2021-08-12
    • 2013-08-01
    相关资源
    最近更新 更多