Android : 手动探究活动

本文详细介绍了Android中Activity的创建过程,包括定义类、创建布局文件、注册Activity等步骤,并提供了手动创建Activity的具体操作指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、活动是什么?

活动(Activity)主要用于和用户进行交互,它是一种可以包含用户界面的组件。一个应用程序可以包含零个或多个活动,每一个活动组件负责一个用户界面的展现。同时活动也是Android应用程序的四大组件之一。
任何活动都要在AndroidManifest,xml文件中注册才能生效,不过并不需要担心,不管是我们手动还是默认创建活动,Android Studio都会自动帮我们完成对活动的注册。


2、Activity的创建步骤

(1)、定义一个类继承自android.app.Activity或者其自类。
(2)、在res/layout目录中创建一个xml文件,用于创建Activity的布局。
(3)、在AndroidManifest.xml文件中注册Activity
(4)、重写ActivityonCreate()方法,并在该方法中使用setContentView()加载指定的布局文件。

注:Android程序的设计讲究逻辑和视图的分离,最好每一个活动都能对应一个布局,布局就是用来显示界面的。

3、准备手动创建活动

打开Android Studio,新建一个Android项目,项目名可以叫ActivityDemo,报名使用默认值,需要注意的是,在添加活动界面(Add an Actibity to Mobile),不再选择Empty Actibity这个选项,而是选择Add No Activity, 准备手动创建活动。


4、手动创建活动

(1)、将创建成功的项目从Android模式的项目结构改为Project模式。
(2)、此时,打开app/src/main/java/activitytest.example.com.activitydemo目录,我们可以看到activitytest.example.com.activitydemo包是空的。

(3)、右击activitytest.example.com.activitydemo-->New-->Activity-->Empty Activity ,弹出创建活动的窗口,这里我们将活动命名为FirstActivity,注意不要勾选Generate LayoutLauncher Activity选项。但要勾选Backwards Compatibility选项。
Generate Layout表示自动为我们创建的FirstActivity活动创建对应的布局文件,Launcher Activity表示自动将FirstActivity设置为当前项目的主活动,由于我们是手动创建活动,所以暂时不勾选这两个选项。勾选Backwards Compatibility表示会为项目启动向下兼容的模式,这个要选上。


(4)、点击Finish完成创建,可以看到Android Studio已经自动为我们在FirstActivity中重写了ActivityonCreate()方法。
onCreate()方法非常简单,就是调用了父类的onCreate()方法,当然我们还可以在里面加入自己的逻辑,这里先不提及。


5、创建和加载布局

(1)、第二部分我们讲过,Android程序的设计讲究逻辑和视图分离,所以现在我们就来创建一个布局文件。
(2)、右击app/src/main/res目录-->New-->Directory,弹出一个新建目录的窗口,我们给这个目录命名为layout,然后对着layout目录右击-->New-->Layout resource file,又会弹出一个新建布局资源文件的窗口,我们将这个布局文件命名为first_layout,根元素就默认为LinearLayout。点击OK完成布局的创建。








(3)、如上图所示,就是我们创建完成的布局编辑器。你可以在中央区域预览当前的布局,在窗口的左下方有两个切换卡,左边是Design,右边是TextDesign是当前的可视化布局编辑器,在这里你不仅可以预览当前的布局,还可以通过左边工具栏拖放的方式编辑布局。而Text则是通过XML文件的方式来编辑布局。现在点击Text切换,可以看到如下代码:

(4)、因为我们刚才创建布局的时候选择了LinearLayout作为根元素,因此布局文件中已经有一个LinearLayout元素了。
(5)、一个布局文件我们已经创建完成了,接下来需要做的,就是在活动中加载这个布局。也就是调用setContentView()方法来给当前的活动加载一个布局,而在setContentView()方法中,我们一般都会传入一个布局文件的id
我们知道,项目中添加的任何资源都会在R文件中生成一个相应的资源id,因此我们刚才创建的first_layout.xml布局的id现在已经添加到R文件中了所以只需要调用R.layout.first_layout就可以得到first_layout.xml布局的id,然后将这个值传入setContentView()方法即可。
回到FirstActivity,在onCreste()方法中加入如下代码:


6、在AndroidManifest文件中注册

(1)、前面提到过所有的活动都要在AndroidManifest.xml中注册才能生效,打开app/src/main/AndroidManifest.xml文件,我们可以看到Android Studio已经自动为我们将FirstActivity注册过了,注册声明放在<application>标签内。



注:在最外层的<manifest>标签中已经通过package属性指定了程序的包名,因此在注册活动时这一部分就可以省略了,直接使用.FirstActivity就足够了。

(2)、为程序配置主活动,配置主活动的方法就是在<activity>标签的内部加入<intent-filter>标签,并在标签里添加<action android:name="android.intent.action.MAIN"/>
 <category android:name="android.intent.category.LAUNCHER"/>两句声明即可,如下图:


7、运行效果



注:如果一个应用程序中没有声明任何一个活动作为主活动,这个程序仍然是可以正常安装的,只是你无法在启动器中看到或者打开这个程序。这种程序一般都是作为第三方服务供其他应用在内部进行调用的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值