Android 显式跳转和隐式跳转:使用 Intent 实现 Activity 间数据传递和验证

1. Intent 的显式跳转与隐式跳转:

  • 显式跳转:当我们明确指定要启动的目标组件时,使用显式跳转。我们指定目标组件的名称或类,以便系统可以准确地识别要启动的组件。
  • 隐式跳转:当我们希望根据某些条件或操作来选择要启动的组件时,使用隐式跳转。我们定义一组过滤条件(如操作、数据、类别等),然后系统会根据这些条件来选择合适的组件进行启动。

2. Activity 间数据传递与验证示例代码

本示例代码演示了如何使用 Intent 在两个 Activity 之间传递数据,并在 Activity2 中验证数据。

Activity1.java

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import androidx.appcompat.app.AppCompatActivity;

public class Activity1 extends AppCompatActivity {
    private EditText usernameEditText, passwordEditText;
    private Button nextButton;

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

        usernameEditText = findViewById(R.id.usernameEditText);
        passwordEditText = findViewById(R.id.passwordEditText);
        nextButton = findViewById(R.id.nextButton);

        nextButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String username = usernameEditText.getText().toString();
                String password = passwordEditText.getText().toString();

                Intent intent = new Intent(Activity1.this, Activity2.class);
                intent.putExtra('username', username);
                intent.putExtra('password', password);
                startActivity(intent);
            }
        });
    }
}

Activity2.java

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import androidx.appcompat.app.AppCompatActivity;

public class Activity2 extends AppCompatActivity {
    private EditText verificationCodeEditText;
    private Button loginButton;

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

        verificationCodeEditText = findViewById(R.id.verificationCodeEditText);
        loginButton = findViewById(R.id.loginButton);

        loginButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String username = getIntent().getStringExtra('username');
                String password = getIntent().getStringExtra('password');
                String verificationCode = verificationCodeEditText.getText().toString();

                if (username.equals('admin') && password.equals('123') && verificationCode.equals('8849')) {
                    showMessage('身份信息验证成功');
                } else {
                    String message = '您刚才输入的信息:\n' +
                            'username: ' + username + '\n' +
                            'password: ' + password + '\n' +
                            'Verification Code: ' + verificationCode + '\n' +
                            '验证失败,请重新输入身份信息';
                    Intent intent = new Intent(Activity2.this, Activity1.class);
                    intent.putExtra('message', message);
                    startActivity(intent);
                }
            }
        });
    }

    private void showMessage(String message) {
        // 使用Toast或其他消息框来显示消息
    }
}

说明:

  • 在 Activity1 中,我们获取了输入的用户名和密码,并使用 Intent 将这些数据传递给 Activity2,然后启动 Activity2。
  • 在 Activity2 中,我们获取了 Activity1 传递的用户名、密码和验证码,并进行验证。如果验证成功,我们显示一个成功的消息框。否则,我们构建一个包含输入信息的消息,并将其传递回 Activity1,然后启动 Activity1 以返回。

请注意:

  • 您需要根据实际情况添加适当的布局文件和资源,并确保将 Activity1 和 Activity2 添加到 Manifest 文件中。
  • 为了更好的用户体验,建议使用 Toast 或其他消息框来显示验证结果。

本示例代码展示了 Intent 在 Activity 之间传递数据和实现验证的基本方法。您可以根据实际需求进行扩展和修改。如果您有任何疑问,请随时提问。

Android 显式跳转和隐式跳转:使用 Intent 实现 Activity 间数据传递和验证

原文地址: https://www.cveoy.top/t/topic/bsvO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录