Android Activity List数据传递指南

在Android开发中,Activity之间的数据传递是一个非常常见的需求。本文将通过一个简单的实例,教会你如何在两个Activity之间传递数据。我们会以下面的步骤进行:

流程概述

下面是传递数据的基本流程:

步骤 描述
1 创建两个Activity,分别为SourceActivity和DestinationActivity。
2 在SourceActivity中创建数据并通过Intent传递给DestinationActivity。
3 在DestinationActivity中接收数据并显示。

步骤1:创建Activity

我们需要两个Activity:SourceActivityDestinationActivity

// SourceActivity.java
package com.example.myapp;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;

public class SourceActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_source);

        Button sendButton = findViewById(R.id.send_button);
        sendButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String message = "Hello, Destination Activity!";
                
                // 创建Intent对象用于启动目标Activity
                Intent intent = new Intent(SourceActivity.this, DestinationActivity.class);
                
                // 将数据放入Intent中
                intent.putExtra("EXTRA_MESSAGE", message);
                
                // 启动目标Activity
                startActivity(intent);
            }
        });
    }
}
// DestinationActivity.java
package com.example.myapp;

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

public class DestinationActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_destination);

        // 从Intent中获取数据
        String message = getIntent().getStringExtra("EXTRA_MESSAGE");

        // 显示接收到的数据
        TextView textView = findViewById(R.id.display_message);
        textView.setText(message);
    }
}

步骤2:在SourceActivity中创建数据并传递

SourceActivity中,我们通过一个按钮点击事件来触发数据传递。

  1. 创建一个字符串message
  2. 创建一个Intent对象,从SourceActivityDestinationActivity
  3. 使用putExtra方法将数据插入Intent中。
  4. 调用startActivity方法启动目标Activity。

代码示例已在步骤1中展示。

步骤3:在DestinationActivity中接收并显示数据

DestinationActivity中,我们从Intent中获取并显示传递的数据:

  1. 使用getStringExtra方法获取数据。
  2. 将数据设置到TextView中进行显示。

同样,这段代码也在步骤1中进行了展示。

类图

为了更清晰地了解我们的代码结构,以下是SourceActivityDestinationActivity之间的数据传递关系的类图:

classDiagram
    class SourceActivity {
        +void onCreate(Bundle savedInstanceState)
        +void onClick(View v)
    }
    class DestinationActivity {
        +void onCreate(Bundle savedInstanceState)
    }
    
    SourceActivity --> DestinationActivity : Intent传递数据

结论

本文详细介绍了如何在Android应用中实现Activity之间的数据传递。我们创建了两个Activity,通过Intent将数据从SourceActivity传递到DestinationActivity。这种方式简单易用,适合大多数需要传递数据的场景。

希望这篇文章对你有所帮助,让你更好地理解Android中的数据传递。如果你有任何疑问或者想深入了解更多相关知识,不妨在留言区提问,或者继续研究Android的其他特性!