目录 | 链接 |
---|---|
一,项目实验——Android 线性布局 | http://t.csdnimg.cn/yDK2c |
二,项目实验——Android 约束布局 | http://t.csdnimg.cn/TS73B |
三,个性化定制App登录界面 | http://t.csdnimg.cn/x7q7D |
四,项目实验——Activity与Intent | http://t.csdnimg.cn/BlTbs |
一. 简答题(共1题,100分)
- (简答题)
(1)项目目标:
运用隐式意图实现Activity之间的页面跳转。
运用putExtra()方法或Bundle对象实现Activity之间数据传递。
掌握Activity间的据回传。
(2)项目任务:使用各类常用控件完成岭南文化UI界面的设计及运用putExtra()或Bundle对象等方法实现Activity之间的数据传递、数据回传等业务逻辑功能。
(3)任务内容:
任务:使用ImageView、EditText、Button等常用控件完成一个“岭南文化”登录页面和返回页面的布局设计,并实现:
当账号或密码为空时,点击登录按钮,可弹出“账号或密码错误,请重新输入。”的提示。
‚当给出账号和密码时,点击登录按钮, Intent对象通过putExtra()方法或Bundle对象通过put和get方法实现数据传递到包含有“返回”按钮的Activity中,并在EditText对象中显示出传递过来的数据。
ƒ当用户在包含有“返回”的Activity中再次输入不同账号和密码时,点击“返回”按钮,则可以实现数据回传到包含有“登录”按钮的Activity中。
创建项目IntentDemo,包名:cn.edu.baiyunu.intentdemo,Language: Java 。
组件树如下图所示:
运行效果图:
实验5 运行效果图(登录界面与账号或密码错误界面)
实验5 运行效果图(登录账号密码数据传递至另一个activity)
实验5 运行效果图(返回界面中账号密码数据回传给登录界面)
素材下载↓
MainActivity.java
package com.example.intentdemo0413;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent1 = getIntent();
String name = intent1.getStringExtra("name");
String password = intent1.getStringExtra("password");
EditText nametEditText = findViewById(R.id.etId);
EditText passwordEditText = findViewById(R.id.etPwd);
nametEditText.setText(name);
passwordEditText.setText(password);
findViewById(R.id.btnSubmit).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText editTextName = findViewById(R.id.etId);
String name = editTextName.getText().toString();
EditText editTextPwd = findViewById(R.id.etPwd);
String password = editTextPwd.getText().toString();
if(name.isEmpty() || password.isEmpty()){
Toast.makeText(MainActivity.this,"账号或密码错误,请重新输入",Toast.LENGTH_SHORT).show();
}else{
Intent intent = new Intent(MainActivity.this, MainActivity2.class);
intent.putExtra("name",name);
intent.putExtra("password",password);
startActivity(intent);
}
}
});
}
}
MainActivity2.java
package com.example.intentdemo0413;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Intent intent1 = getIntent();
String name = intent1.getStringExtra("name");
String password = intent1.getStringExtra("password");
EditText nameEditText = findViewById(R.id.etId2);
EditText passwordEditText = findViewById(R.id.etPwd2);
nameEditText.setText(name);
passwordEditText.setText(password);
findViewById(R.id.btnBack).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText editTextName = findViewById(R.id.etId);
String name = editTextName.getText().toString();
EditText editTextPwd = findViewById(R.id.etPwd);
String password = editTextPwd.getText().toString();
if(name.isEmpty() || password.isEmpty()){
Toast.makeText(MainActivity2.this,"账号或密码错误,请重新输入",Toast.LENGTH_SHORT).show();
}else{
Intent intent = new Intent(MainActivity2.this, MainActivity.class);
intent.putExtra("name",name);
intent.putExtra("password",password);
startActivity(intent);
}
}
});
}
}
activity_main.xml
和activity_main2.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"
android:background="@drawable/bg"
tools:context=".MainActivity">
<ImageView
android:id="@+id/logo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/logo"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginTop="35dp"/>
<TextView
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="岭南文化"
android:gravity="center"
app:layout_constraintTop_toBottomOf="@id/logo"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginTop="15dp"
android:textSize="30dp"
/>
<EditText
android:id="@+id/etId"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/text1"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:hint="请输入账号"/>
<EditText
android:id="@+id/etPwd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/etId"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:inputType="textPassword"
android:hint="请输入密码"/>
<Button
android:id="@+id/btnSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登录"
app:layout_constraintTop_toBottomOf="@id/etPwd"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginTop="50dp"
>
</Button>
</androidx.constraintlayout.widget.ConstraintLayout>