(1)应用的主Activity为考试系统的登录界面,Activity名和布局名分别为FirstActivity和first_layout,登录界面上有两个文本框,分别为用户名和密码,两个文本编辑框,分别用来输入用户名和密码,密码显示为“.”,其中用户名和密码分别为学生的姓名和学号。有两个按钮,分别为“登录”和“返回”,单击返回则回到启动器,单击登录时,如果密码正确,则进入第二个Activity;如果密码不正确,则以 Toast 的方式显示“输入的用户名或密码不正确,请重新输入!”。
xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.constraintlayout.widget.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.24"/>
<!-- 应用的主Activity为考试系统的登录界面,Activity名和布局名分别为FirstActivity和first_layout,
登录界面上有两个文本框,分别为用户名和密码,两个文本编辑框,分别用来输入用户名和密码,密码显示为“.”,
其中用户名和密码分别为学生的姓名和学号。有两个按钮,分别为“登录”和“返回”,单击返回则回到启动器,
单击登录时,如果密码正确,则进入第二个Activity;如果密码不正确,则以 Toast 的方式显示“
输入的用户名或密码不正确,请重新输入!”。-->
<androidx.constraintlayout.widget.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline2"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.4"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textview"
android:text="用户名"
android:textSize="18sp"
android:layout_marginEnd="20dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="20dp"
app:layout_constraintBottom_toTopOf="@+id/guideline2"
app:layout_constraintEnd_toStartOf="@+id/guideline"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textview2"
android:text="密码"
android:textSize="18sp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:layout_marginRight="20dp"
app:layout_constraintEnd_toStartOf="@+id/guideline"
app:layout_constraintTop_toBottomOf="@+id/editText"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:ems="10"
android:hint="请输入用户名"
android:inputType="none|textPersonName"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="@+id/textview"
app:layout_constraintStart_toStartOf="@+id/guideline"
app:layout_constraintVertical_bias="0.518"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText2"
android:ems="10"
android:hint="请输入密码"
android:inputType="textPassword"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="@+id/textview2"
app:layout_constraintEnd_toEndOf="@+id/editText"
app:layout_constraintTop_toTopOf="@+id/textview2"
app:layout_constraintVertical_bias="0.518"/>
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="76dp"
android:layout_marginBottom="152dp"
android:text="登录"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="184dp"
android:layout_marginBottom="152dp"
android:text="返回"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
java:
package com.example.ondecember1;
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 FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
final EditText editText=findViewById(R.id.editText);
final EditText editText1=findViewById(R.id.editText2);
Button button=findViewById(R.id.btn);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (editText.getText().toString().equals("lv"))
{
if(editText1.getText().toString().equals("123")){
Toast.makeText(FirstActivity.this,"登录成功,欢迎进入考试界面",Toast.LENGTH_SHORT).show();
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
}else {
Toast.makeText(FirstActivity.this,"用户名输入和密码不正确,请重新输入",Toast.LENGTH_SHORT).show();
}
}
else {
Toast.makeText(FirstActivity.this,"用户名输入不正确,请重新输入",Toast.LENGTH_SHORT).show();
}
}
});
Button button1=findViewById(R.id.btn2);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}
(2)第二个Activity为一个填空题,Activity名和布局名分别为SecondActivity和second_layout,界面上有一个文本框用来显示题干,文本框中的内容为“Java标识符由数字、字母、 和 组成”。有两个文本编辑框,分别用来输入两个答案。有1个按钮,内容为“下一题”用于跳转至第三个Activity。如果两个文本编辑框输入的值分别为“下画线”和“美元符号”,该题的分值为20分,只对一个为10分,都不对为0分。将本题的分数传递给下一个Activity即第三个Activity。
xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
tools:context=".SecondActivity">
<!-- (2)第二个Activity为一个填空题,Activity名和布局名分别为SecondActivity和second_layout,
界面上有一个文本框用来显示题干,文本框中的内容为“Java标识符由数字、
字母、 和 组成”。有两个文本编辑框,分别用来输入两个答案。
有1