Android如何实现用户名密码校验正确后跳转至第二个Activity
Android登录校验跳转功能实现方案
你可以按照以下步骤修改现有代码,实现账号密码校验通过后才跳转目标Activity的逻辑:
具体操作步骤
- 首先在登录页布局文件
activity_giris.xml中添加两个输入控件,分别用于接收用户名、密码输入,给控件设置唯一id方便后续在代码中绑定。 - 在
Giris_activity中声明输入框对应的控件变量,在onCreate生命周期中完成控件id绑定。 - 修改原有按钮点击的直接跳转逻辑:点击按钮后先获取两个输入框的文本内容,先做非空判断,再和正确的账号密码做匹配校验。
- 校验通过时调用原有
openbaslangic()方法完成跳转;校验不通过时弹出Toast提示用户输入错误,不执行跳转。
注意:以下示例中的正确账号密码为硬编码写在客户端的演示值,仅适合入门练习使用。正式上线项目不要在客户端存储明文账号密码,需要对接服务端接口完成身份校验。
修改后的完整Java代码
import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class Giris_activity extends AppCompatActivity { private Button button; // 新增用户名、密码输入框对象 private EditText usernameInput; private EditText passwordInput; // 演示用的正确账号密码,可自行修改 private final String VALID_USERNAME = "user123"; private final String VALID_PASSWORD = "pass123"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_giris); button = (Button) findViewById(R.id.giris); // 绑定布局里的输入框控件,注意id要和你布局里设置的一致 usernameInput = findViewById(R.id.username_input); passwordInput = findViewById(R.id.password_input); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 获取输入内容,自动去掉首尾多余空格 String inputUsername = usernameInput.getText().toString().trim(); String inputPassword = passwordInput.getText().toString().trim(); // 非空校验 if (TextUtils.isEmpty(inputUsername)) { Toast.makeText(Giris_activity.this, "用户名不能为空", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(inputPassword)) { Toast.makeText(Giris_activity.this, "密码不能为空", Toast.LENGTH_SHORT).show(); return; } // 账号密码匹配校验 if (inputUsername.equals(VALID_USERNAME) && inputPassword.equals(VALID_PASSWORD)) { openbaslangic(); } else { Toast.makeText(Giris_activity.this, "用户名或密码错误", Toast.LENGTH_SHORT).show(); } } }); } public void openbaslangic() { Intent intent = new Intent(this, Baslangic_activity.class); startActivity(intent); finish(); } }
布局文件参考代码
你需要在res/layout/activity_giris.xml中添加两个输入框,放在登录按钮上方即可,参考属性如下:
<!-- 用户名输入框 --> <EditText android:id="@+id/username_input" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="输入用户名" android:layout_margin="16dp"/> <!-- 密码输入框 --> <EditText android:id="@+id/password_input" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="输入密码" android:inputType="textPassword" android:layout_margin="16dp"/> <!-- 原有登录按钮保留即可 --> <Button android:id="@+id/giris" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="登录" android:layout_margin="16dp"/>
内容的提问来源于stack exchange,提问作者Efe Bostancı
相关产品推荐
相关产品推荐

