Lo que hice hoy es iniciar sesión como usuario
Directorio de artículos
1. Nuevo proyecto
2. Crea una nueva plantilla de actividad
3. Escribe el diseño:
【Login_activity.xml】
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:background="@drawable/bg"
android:orientation="vertical"
tools:context=".LoginActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/login_title"
android:textSize="30sp"
android:textColor="@color/purple_700"
android:layout_marginBottom="30dp"
/>
<LinearLayout
style="@style/login_input_layout"
>
<TextView
style="@style/login_text"
android:text="@string/username"
/>
<EditText
style="@style/login_input"
android:id="@+id/edt_user_name"
android:background="@drawable/border"
android:hint="@string/edt_username"
/>
</LinearLayout>
<LinearLayout
style="@style/login_input_layout"
>
<TextView
style="@style/login_text"
android:text="@string/password"
/>
<EditText
style="@style/login_input"
android:id="@+id/edt_password"
android:background="@drawable/border"
android:inputType="textPassword"
android:hint="@string/edt_password"
/>
</LinearLayout>
<LinearLayout
style="@style/login_input_layout">
<Button
style="@style/login_button"
android:id="@+id/btn_login"
android:text="@string/login"/>
<Button
style="@style/login_button"
android:id="@+id/btn_cancel"
android:text="@string/cancel"/>
</LinearLayout>
</LinearLayout>
【cuerda】
<resources>
<string name="app_name">Task2</string>
<string name="login_title">用户登录</string>
<string name="username">用户:</string>
<string name="password">密码:</string>
<string name="edt_username">输入用户名</string>
<string name="edt_password">输入密码</string>
<string name="login">登录</string>
<string name="cancel">取消</string>
</resources>
【Valores / estilo】
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="login_input_layout">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:orientation">horizontal</item>
<item name="android:gravity">center</item>
<item name="android:paddingBottom">20dp</item>
</style>
<style name="login_text">
<item name="android:layout_width">70dp</item>
<item name="android:layout_height">match_parent</item>
<item name="android:textColor">@color/black</item>
<item name="android:gravity">center|left</item>
<item name="android:textSize">20sp</item>
</style>
<style name="login_input">
<item name="android:layout_width">150dp</item>
<item name="android:layout_height">match_parent</item>
<item name="background">@drawable/border</item>
<item name="android:padding">6dp</item>
<item name="android:lines">1</item>
</style>
<style name="login_button">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_margin">6dp</item>
<item name="android:textColor">@color/black</item>
</style>
</resources>
【Dibujable / borde】
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="1dp"
android:color="@color/teal_400"/>
<solid android:color="@color/white"/>
</shape>
4. Escriba el código java:
【LoginActivity.java】
package com.example.task2;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class LoginActivity extends AppCompatActivity {
private EditText edtUserName;
private EditText edtPassword;
private Button btnLogin;
private Button btnCancel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
edtUserName = findViewById(R.id.edt_user_name);
edtPassword = findViewById(R.id.edt_password);
btnLogin = findViewById(R.id.btn_login);
btnCancel = findViewById(R.id.btn_cancel);
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String strUsername = edtUserName.getText().toString().trim();
String strPassword = edtPassword.getText().toString().trim();
if (strUsername.equals("admin") && strPassword.equals("admin")) {
Toast.makeText(LoginActivity.this,"恭喜,用户名和密码正确!"
,Toast.LENGTH_LONG).show();
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
Bundle bundle = new Bundle();
bundle.putString("username", strUsername);
bundle.putString("password", strPassword);
intent.putExtras(bundle);
startActivity(intent);
} else {
Toast.makeText(LoginActivity.this, "遗憾,用户名或密码错误!请重新输入!"
,Toast.LENGTH_LONG).show();
edtUserName.setText("");
edtPassword.setText("");
}
}
});
btnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtUserName.setText("");
edtPassword.setText("");
}
});
}
}
【MainActivity.java】
package com.example.task2;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView tvMain;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvMain = findViewById(R.id.tv_main);
// 获取意图
Bundle data = getIntent().getExtras();
String strUserName = data.getString("username");
String strPassword = data.getString("password");
tvMain.setText("Hello," + strUserName);
tvMain.setTextSize(24);
}
}
Mostrar resultados:
Inicio de sesión fallido
inicio de sesión exitoso
Resumen: Lo hice una vez antes de iniciar sesión en la interfaz. No es difícil. Esta es la primera vez que utilizo intent para transferir datos. Solo se completa después de ver la información.