在Eclipse中将Activity添加到Android项目的最佳方法?


189

将活动添加到现有的Android项目中时,我手动创建了一个新类-这是最好的/首选的方式吗?别人如何处理?

Answers:


381

您可以使用“新建类”对话框,但是剩下需要手工完成的其他步骤(例如,将清单添加到清单文件中)。如果要使这些步骤自动化,则可以通过清单编辑器创建活动,如下所示:

  1. 双击包浏览器中的AndroidManifest.xml。
  2. 单击清单编辑器的“应用程序”选项卡
  3. 单击“应用程序节点”标题下的“添加..”(屏幕左下方)
  4. 从弹出的对话框的列表中选择“活动”(如果有此选项,则要创建一个新的顶级元素)
  5. 单击“属性”标题下(窗口右下方)下的“名称*”链接,为新活动创建一个类。

在新类对话框中单击完成时,它将带您进入新的活动类,以便您可以开始编码。

五个步骤可能看起来很多,但我只是想在此处进行更详细的说明,以便清楚。实际上,这是非常快的。


23
一个警告是,您必须记住在“。”之前加上前缀。输入您的Activitiy名称,否则您将得到各种各样毫无意义的错误信息。
B. Clay Shannon

我尝试在Ubuntu 10.04上使用Eclipse 3.5.2进行此操作。出现添加对话框时,有两个选择...不,现在只有一个“在Application的顶层创建新元素”。Ne;下面是一个文本输入字段,下面是一个带有Activity,Activity Alias,Meta Data等选择的框。在其下方有“取消”和“确定”按钮。在文本字段中输入第一个字符后,所有选择都将消失,并且“确定”按钮变为灰色。错误或我做错了吗?
谢谢

4
像这样:Intent intent = new Intent(OldActivity.this,NewActivity.class); startActivity(intent); 无需大喊大叫;)
user460847

1
@Eduardo,请确保单击右下角的Name *链接,这将显示一个带有“ Finish”按钮的类创建窗口。
安德鲁(Andrew)将

2
它不会创建非常重要的活动布局。更好的是这样stackoverflow.com/questions/6253578/...
科托

88

现在,现在在Eclipse中执行此操作要容易得多。只需右键单击包含您的新活动的软件包新建->其他->(在Android选项卡下)Android活动。

就这样。您的新活动也会自动添加到清单文件中。


1
您必须在清单文件中显式添加有关您的活动信息的信息。该信息不会自动添加。
Akshay

9
在“新建”->“其他”->“ Android活动”->“空白活动”并为其指定唯一名称之后,在下一步中,您将看到eclipse向您显示“要执行的更改”列表。在此列表中,您可以看到清单文件,strings.xml等已被选中。所以,除非您取消选中它们,它会自动添加
berkuqo

2
如果要在特定的程序包中创建活动怎么办?
Mr_and_Mrs_D 2013年


4

我只是在Eclipse中使用“新建类”对话框,并将基类设置为Activity。我不知道有其他方法可以做到这一点。您还希望使用其他什么方法?


1
只是想知道是否有一个插件可以使其中一些自动化或提供了逐步向导。
Eno 2010年

3

R. *类是动态生成的。我在“项目”菜单中保留“自动构建”选项,以便我的R. *类始终是最新的。

此外,在创建新的Activity时,我会复制并重命名旧的Activity,尤其是当它们与我需要的新Activity类似时,因为Eclipse会为您重命名所有内容。

否则,就像其他人所说的,File-> New-> Class命令运行良好,它将为您构建文件,包括基于类,其继承和接口的必需方法的模板。


2

要创建新的活动,只需单击ctrl + N,出现一个窗口,选择android,然后出现另一个窗口,为该次要活动命名。


1

我所知道的没有工具专门用于创建活动类。只需使用Eclipse下的“新类”选项并将基类设置为“活动”即可。

在创建/编辑活动使用的xml布局时,这里想到的是类似于工具的向导。要使用此工具创建xml布局,请使用“ Android XML文件”的“新建”下的选项。该工具将允许您创建视图的一些基本布局。


2
看起来IntelliJ IDEA有一个用于创建活动的向导-请参阅 jetbrains.com/idea/features/google_android.html
Eno

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.