1.了解基本控件
2.理解安卓事件处理机制
3.使用意图启动组件
4.掌握窗口跳转与传递数据
(一)三个基本控件的类层次继承图及其常用属性
1.标签控件(TextView)
2.编辑框控件(EditText)
打开安卓项目清单文件AndroidManifest.xml,
8、登录窗口功能实现
// A code block
var foo = 'bar';
package net.hxl.example.userlogin;
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 etUsername;
private EditText etPassword;
private Button btnLogin;
private Button btnCancel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 利用布局资源文件设置用户界面
setContentView(R.layout.activity_login);
// 通过资源标识符(id)获取控件实例
etUsername = findViewById(R.id.et_username);
etPassword = findViewById(R.id.et_password);
btnLogin = findViewById(R.id.btn_login);
btnCancel = findViewById(R.id.btn_cancel);
// 为登录按钮注册单价监听器
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 获取两个编辑的数据(trim():去除字符串前后的空格)
String strUsername = etUsername.getText().toString().trim();
String strPassword = etPassword.getText().toString().trim();
// 判断用户与密码是否正确
if (strUsername.equals("hxl") && strPassword.equals("123456")){
//三个参数:参数1-上下问:参数2:土司内容(字符串):参数3:土司持续时间
Toast.makeText(LoginActivity.this,"恭喜,用户名和密码正确!",Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(LoginActivity.this,"遗憾,用户名和密码错误!",Toast.LENGTH_SHORT).show();
}
}
});
// 给取消按钮注册单击监听器
btnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//关闭当前窗口
finish();
}
});
}
}
// A code block
var foo = 'bar';
package net.hxl.example.userlogin;
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 etUsername;
private EditText etPassword;
private Button btnLogin;
private Button btnCancel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 利用布局资源文件设置用户界面
setContentView(R.layout.activity_login);
// 通过资源标识符(id)获取控件实例
etUsername = findViewById(R.id.et_username);
etPassword = findViewById(R.id.et_password);
btnLogin = findViewById(R.id.btn_login);
btnCancel = findViewById(R.id.btn_cancel);
// 为登录按钮注册单价监听器
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 获取两个编辑的数据(trim():去除字符串前后的空格)
String strUsername = etUsername.getText().toString().trim();
String strPassword = etPassword.getText().toString().trim();
// 判断用户与密码是否正确
if (strUsername.equals("hxl") && strPassword.equals("123456")){
// 三个参数:参数1-上下问;参数2-土司内容(字符串);参数3-土司持续时间
Toast.makeText(LoginActivity.this,"恭喜,用户名和密码正确!",Toast.LENGTH_SHORT).show();
// 创建显示意图(参数1-包上下文:参数2-目标组件)
Intent intent = new Intent(LoginActivity.this,MainActivity.class);
// 通过意图携带数据
intent.putExtra("username", strUsername);
intent.putExtra("password", strPassword);
// 按照意图启动目标组件
startActivity(intent);
} else {
Toast.makeText(LoginActivity.this,"很遗憾,用户名和密码错误!",Toast.LENGTH_SHORT).show();
}
}
});
// 给取消按钮注册单击监听器
btnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//关闭当前窗口
finish();
}
});
}
}
(五)修改著串口代码(MainActivity.java)