基本信息
源码名称:Activity之间数据传递-学生信息采集
源码大小:8.47M
文件格式:.rar
开发语言:Java
更新时间:2019-08-09
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

设计一个学生信息采集软件,采用两个页面。第一个页面为信息输入(包括两个按钮:清除、提交),第二个页面显示第一个页面输入信息的内容(包括一个按钮:返回)。要求:

1、在第一个页面点击“清除”后,将输入的信息清除;点击“提交”后,进入第二个页面;

2、在第二个页面点击“返回”后,返回第一页面;

3、在第一个页面进入第二个页面前,先查验输入信息的正确性,利用Toast提示用户;

4、在工程调试时尽量采用LogCat命令进行中间信息输出。



1. IntentActivity之间传递数据

IntentAndroid系统提供的一种协助应用间的交互与通信的机制。Intent负责对应用中一次操作的动作、涉及的数据、附加的数据的等进行描述,Android系统则根据次Intent所描述的,负责找到对用的组件,将Intent传递给调用的组件,并完成组件的调用。

    对于不同的组件,Intent提供了不同的启动方法,本实验的组件是Activity,所以启动方法就采用 startActivity(Intent intent)Intent对象封装了它要执行动作的属性,有七大属性,本实验所采用的是IntentExtra属性,它通常用于多个Activity之间进行数据的交换,Extra可以通过putExtra(键,值)的形式设置数据。如本实验中我要进行传输姓名、电话、密码性别等如下所示:

intent.putExtra("phoneNumber",phoneNumber);
intent.putExtra("name",name);
intent.putExtra("password",password);
intent.putExtra("confirmPwd",confirmPwd);
intent.putExtra("Login",Login);
intent.putExtra("sex",sex);

 

2. 显示Intent和隐式Intent

     本实验所采用的是显示Intent,指定了ComponentName属性的Intent已经明确了它将要启动那个组件,因此称为显示Intent。如本实验中需要启动当前应其他的activity2,那么就是用了显示Intent如下所示:

Intent intent=new Intent(MainActivity.this,Activity2.class);

startActivity(intent);

     在上述代码中,其中第一个参数packageContext是上下文对象,第二个参数cls指定要启动的目标Activity2。因为ActivityContext类的子类,所以第一个参数可以传this,代表当前的Activity对象。

3. Activity2传递数据

本实验要求第一个MainActivity要向Activity2传递数据,因此我采用了Intent传递数据的方法并且调用了putExtra()方法将想要传递数据存在Intent中。如题目中要求点击“提交”后,进入第二个页面,代码如下所示:

private Button btnLogin;

btnLogin = (Button) findViewById(R.id.btn_Login);

public void submit(View view) {

String Login = btnLogin.getText().toString().trim();

Intent intent=new Intent(MainActivity.this,Activity2.class);

intent.putExtra("Login",Login);

startActivity(intent);

4. 获取MainActivity传递过来的Intent对象

Intent intent = getIntent();

String phoneNumber = intent.getStringExtra("phoneNumber");
String name = intent.getStringExtra("name");
String sex = intent.getStringExtra("sex");
String password = intent.getStringExtra("password");
String confirmPwd = intent.getStringExtra("confirmPwd");

5. Activity2返回

本实验要求在第二个页面点击“返回”后,返回第一页面。因此首先要在第二个设计界面上添加一个返回按钮,然后再在逻辑代码中实现,如下所示:

btnReturn = (Button) findViewById(R.id.btn_return);
btnReturn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        finish();
    }
});

6. 查验输入信息的正确性,利用Toast提示用户;

本实验还要求了在点提交进入第二个页面之前,查验输入信息的正确性,利用Toast提示用户。因此这里需要使用if判断信息是否填完整,如果没有填完整就会利用Toast给出提示信息“请填写完整相关学生信息”。

if (TextUtils.isEmpty(phoneNumber) || TextUtils.isEmpty(name) || TextUtils.isEmpty(password) || TextUtils.isEmpty(confirmPwd)) {
    Toast.makeText(this, "
请填写完整相关学生信息", Toast.LENGTH_SHORT).show();
    return;
}

7. 清除输入信息

    本实验要求在第一个页面点击“清除”后,将输入的信息清除。这里我采用的是clearContent()方法,它可以将输入框的内容全部置为空,部分代码如下所示:

private void clearContent() {
    //
输入框的内容全部置为空
    etPhoneNumber.setText("");
    etName.setText("");
    etPassword.setText("");