Android_Activity_1

Activity介绍

在 Android 开发中,Activity 是应用程序的四个基本组件之一,它是用户界面的一部分,代表了一个屏幕,用户可以在上面与应用交互。一个 Activity 通常对应着一个屏幕上显示的“窗口”,并且负责管理与该屏幕相关的用户界面。

Activity 的生命周期

Activity 的生命周期是由一系列回调方法组成的,这些方法定义了 Activity 的不同状态。以下是一些关键的生命周期方法:

  1. onCreate(Bundle savedInstanceState):这是 Activity 的第一个回调方法,通常在这里初始化 Activity 的 UI 和数据。
  2. onStart():当 Activity 变得可见时调用。
  3. onResume():当 Activity 获得焦点并准备接收用户输入时调用。
  4. onPause():当 Activity 丢失焦点时调用。
  5. onStop():当 Activity 不再对用户可见时调用。
  6. onDestroy():当 Activity 被销毁前调用。
  7. onRestart():当 Activity 由停止状态变为重新启动状态时调用。

创建一个Activity 

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 初始化 UI 或者设置监听器等
    }
    
    @Override
    protected void onStart() {
        super.onStart();
        // `Activity` 变得可见时调用
    }

    @Override
    protected void onResume() {
        super.onResume();
        // `Activity` 获得焦点时调用
    }

    @Override
    protected void onPause() {
        super.onPause();
        // `Activity` 丢失焦点时调用
    }

    @Override
    protected void onStop() {
        super.onStop();
        // `Activity` 不再可见时调用
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        // `Activity` 被销毁前调用
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        // `Activity` 由停止状态变为重新启动状态时调用
    }
}

Activity 的布局文件

Activity 的 UI 通常定义在一个 XML 布局文件中。例如,上面的 MainActivity 可能关联了一个名为 activity_main.xml 的布局文件,位于 res/layout/ 目录下。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
</LinearLayout>

补充:UI   指的是 Activity 的用户界面(User Interface, UI)部分

1. 布局文件(Layout Files)

Activity 的 UI 通常定义在一个或多个 XML 布局文件中。这些布局文件描述了 Activity 界面的结构和样式。常见的布局文件位于项目的 res/layout 目录中。

示例布局文件

深色版本

<!-- res/layout/activity_main.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello, World!"
        android:textSize="24sp" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click Me!" />

</LinearLayout>

2. 设置布局

ActivityonCreate 方法中,通过调用 setContentView 方法来设置 Activity 的主布局。

示例代码
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

3. 视图(Views)

Activity 的 UI 由多个视图(View)组成,如 TextViewButtonImageView 等。你可以通过 findViewById 方法获取布局文件中的视图,并对其进行操作。

示例代码
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(MainActivity.this, "Button clicked!", Toast.LENGTH_SHORT).show();
    }
});

4. 用户交互

Activity 通常需要响应用户的交互事件,如点击按钮、滑动屏幕等。你可以通过设置监听器(如 OnClickListener)来实现这些交互。

启动 Activity

在 Android 中,可以使用 Intent 来启动另一个 Activity。例如:

Intent intent = new Intent(this, SecondActivity.class); 
startActivity(intent);

这段代码会启动名为 SecondActivity 的 Activity。

Activity 之间的数据传递

你可以使用 Intent 来携带数据在 Activity 之间传递。例如:

Intent intent = new Intent(this, SecondActivity.class); 
intent.putExtra("message", "Hello from MainActivity!"); 
startActivity(intent);

在 SecondActivity 中,可以这样获取传递过来的数据:

Intent intent = getIntent();
 String message = intent.getStringExtra("message");

总结

Activity 是 Android 应用程序的基本组件之一,它负责管理用户界面和用户交互。通过了解 Activity 的生命周期以及如何创建和管理 Activity,你可以有效地构建具有复杂用户界面的 Android 应用程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值