什么是Activity,详细介绍Activity

Activity是Android中的一个核心组件,用于实现应用程序的用户界面和应用程序的交互逻辑。它扮演着一个容器的角色,可以在其中添加各种组件如按钮、文本框等。Activity可以通过基于运行时的UI交互和处理用户输入来实现应用程序的功能。

简单来说,Activity就类似于一个窗口,对应到桌面应用中就类似于一个弹出窗口,用户可以通过该窗口与应用程序进行交互。

Activity的生命周期

由于Android的特殊架构,Activity的生命周期十分重要,它可以被理解为Activity的运行机制,其生命周期可以分为如下六个阶段:

1. 创建(onCreate): 表示该Activity创建之后的初始化工作,例如实例化布局文件等。

2. 启动(onStart): 表示该Activity不可见的状态,但是已经启动并且可以显示内容。

3. 恢复(onResume): 表示该Activity可见状态,并且可以处理用户输入。

4. 暂停(onPause): 表示该Activity正在失去控制权,但是仍可操作完成,例如打开了一个对话框等。

5. 停止(onStop): 表示该Activity已经完全消失,但是可以恢复当前的状态。

6. 销毁(onDestroy): 表示该Activity已经被完全释放,可以被回收内存。

如下图是Activity的生命周期示意图:

![image](https://img-blog.csdn.net/20180401100729721)

Activity的使用方法:

1. 新建Activity

在Android Studio中,可以通过两种方法新建Activity。

一种是通过菜单栏中的File>New>New Activity,另一种是通过右键点击app虚拟文件夹>New>Activity>New Activity。

在新建Activity时,需要选择使用的Activity类型,包括:Empty Activity、Basic Activity、Master-Detail Flow等。

2. 常用方法

1. setContentView(int layoutResID): 设置Activity的布局文件。

2. findViewById(int id): 查找对应视图ID的控件对象。

3. startActivity(Intent intent): 启动一个Activity。

4. startActivityForResult(Intent intent, int requestCode): 启动一个带有返回结果的Activity。

5. setResult(int resultCode, Intent data): 设置返回结果。

详细用法可以参考Android官方文档。

3. Activity的案例说明

以下是一个简单的Activity案例,通过该案例可以更好地理解Activity在Android应用程序中的作用。

案例介绍:

应用程序名字为HelloWorld,包含一个名为MainActivity的Activity,其中定义了一个Button按钮和一个TextView文本框,点击按钮显示一句问候语“Hello World!”。

实现步骤:

1. 新建工程

File>New>New Project

设置应用程序名称为HelloWorld

2. 编写活动布局文件

打开app/res/layout/activity_main.xml,修改布局文件如下:

```

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity">

android:id="@+id/btn_hello"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/hello_btn"

android:layout_centerInParent="true" />

android:id="@+id/tv_hello"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/hello_world"

android:textSize="20dp"

android:textColor="@android:color/black"

android:visibility="gone"

android:layout_below="@+id/btn_hello"

android:layout_centerHorizontal="true" />

```

其中:

点赞(86) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部