设计一个学生信息采集软件,采用两个页面。第一个页面为信息输入(包括两个按钮:清除、提交),第二个页面显示第一个页面输入信息的内容(包括一个按钮:返回)。要求:
1、在第一个页面点击“清除”后,将输入的信息清除;点击“提交”后,进入第二个页面;
2、在第二个页面点击“返回”后,返回第一页面;
3、在第一个页面进入第二个页面前,先查验输入信息的正确性,利用Toast提示用户;
4、在工程调试时尽量采用LogCat命令进行中间信息输出。

1. Intent和Activity之间传递数据
Intent是Android系统提供的一种协助应用间的交互与通信的机制。Intent负责对应用中一次操作的动作、涉及的数据、附加的数据的等进行描述,Android系统则根据次Intent所描述的,负责找到对用的组件,将Intent传递给调用的组件,并完成组件的调用。
对于不同的组件,Intent提供了不同的启动方法,本实验的组件是Activity,所以启动方法就采用 startActivity(Intent intent),Intent对象封装了它要执行动作的属性,有七大属性,本实验所采用的是Intent的Extra属性,它通常用于多个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。因为Activity是Context类的子类,所以第一个参数可以传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(“”);
}
资源文件列表
UserRegistration/.gitignore , 216
UserRegistration/.gradle/4.10.1/fileChanges/last-build.bin , 1
UserRegistration/.gradle/4.10.1/fileContent/fileContent.lock , 17
UserRegistration/.gradle/4.10.1/fileHashes/fileHashes.bin , 131133
UserRegistration/.gradle/4.10.1/fileHashes/fileHashes.lock , 17
UserRegistration/.gradle/4.10.1/fileHashes/resourceHashesCache.bin , 18565
UserRegistration/.gradle/4.10.1/gc.properties , 0
UserRegistration/.gradle/4.10.1/javaCompile/classAnalysis.bin , 108997
UserRegistration/.gradle/4.10.1/javaCompile/javaCompile.lock , 17
UserRegistration/.gradle/4.10.1/javaCompile/taskHistory.bin , 23749
UserRegistration/.gradle/4.10.1/taskHistory/taskHistory.bin , 1625588
UserRegistration/.gradle/4.10.1/taskHistory/taskHistory.lock , 17
UserRegistration/.gradle/buildOutputCleanup/buildOutputCleanup.lock , 17
UserRegistration/.gradle/buildOutputCleanup/cache.properties , 54
UserRegistration/.gradle/buildOutputCleanup/outputFiles.bin , 20945
UserRegistration/.gradle/vcs-1/gc.properties , 0
UserRegistration/.idea/caches/build_file_checksums.ser , 545
UserRegistration/.idea/caches/gradle_models.ser , 145596
UserRegistration/.idea/codeStyles/Project.xml , 1803
UserRegistration/.idea/gradle.xml , 594
UserRegistration/.idea/libraries/Gradle__android_arch_core_common_1_1_1_jar.xml , 541
UserRegistration/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml , 659
UserRegistration/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1_jar.xml , 556
UserRegistration/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml , 675
UserRegistration/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml , 699
UserRegistration/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml , 670
UserRegistration/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml , 680
UserRegistration/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml , 526
UserRegistration/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml , 682
UserRegistration/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml , 511
UserRegistration/.idea/libraries/Gradle__com_android_support_collections_28_0_0_jar.xml , 375
UserRegistration/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_3_aar.xml , 513
UserRegistration/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_1_3_jar.xml , 433
UserRegistration/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml , 702
UserRegistration/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_aar.xml , 493
UserRegistration/.idea/libraries/Gradle__com_android_support_customview_28_0_0_aar.xml , 484
UserRegistration/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_aar.xml , 490
UserRegistration/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_aar.xml , 682
UserRegistration/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_aar.xml , 490
UserRegistration/.idea/libraries/Gradle__com_android_support_loader_28_0_0_aar.xml , 472
UserRegistration/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml , 517
UserRegistration/.idea/libraries/Gradle__com_android_support_print_28_0_0_aar.xml , 654
UserRegistration/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml , 505
UserRegistration/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0_jar.xml , 399
UserRegistration/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml , 690
UserRegistration/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_aar.xml , 499
UserRegistration/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_aar.xml , 508
UserRegistration/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_aar.xml , 698
UserRegistration/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml , 523
UserRegistration/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml , 706
UserRegistration/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_2_aar.xml , 722
UserRegistration/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2_aar.xml , 777
UserRegistration/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2_aar.xml , 674
UserRegistration/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2_aar.xml , 669
UserRegistration/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml , 511
UserRegistration/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_aar.xml , 481
UserRegistration/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml , 367
UserRegistration/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml , 546
UserRegistration/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml , 536
UserRegistration/.idea/libraries/Gradle__junit_junit_4_12_jar.xml , 495
UserRegistration/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0_jar.xml , 518
UserRegistration/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml , 551
UserRegistration/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml , 586
UserRegistration/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml , 565
UserRegistration/.idea/misc.xml , 365
UserRegistration/.idea/modules.xml , 377
UserRegistration/.idea/runConfigurations.xml , 575
UserRegistration/.idea/workspace.xml , 18913
UserRegistration/app/.gitignore , 8
UserRegistration/app/app.iml , 15184
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/arch/core/R.java , 269
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/arch/lifecycle/livedata/core/R.java , 288
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/arch/lifecycle/livedata/R.java , 283
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/arch/lifecycle/R.java , 274
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/arch/lifecycle/viewmodel/R.java , 284
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/asynclayoutinflater/R.java , 10649
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/compat/R.java , 10636
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/constraint/R.java , 19449
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/coordinatorlayout/R.java , 12617
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/coreui/R.java , 12606
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/coreutils/R.java , 10639
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/cursoradapter/R.java , 281
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/customview/R.java , 10640
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/documentfile/R.java , 280
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/drawerlayout/R.java , 10642
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/fragment/R.java , 12608
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/graphics/drawable/R.java , 12617
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/interpolator/R.java , 280
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/loader/R.java , 10636
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/localbroadcastmanager/R.java , 289
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/print/R.java , 273
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/slidingpanelayout/R.java , 10647
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/swiperefreshlayout/R.java , 10648
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/v7/appcompat/R.java , 122451
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/v7/viewpager/R.java , 10642
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/androidx/versionedparcelable/R.java , 280
UserRegistration/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/com/example/userregistration/R.java , 686973
UserRegistration/app/build/generated/res/pngs/debug/drawable-anydpi-v21/ic_launcher_background.xml , 5776
UserRegistration/app/build/generated/res/pngs/debug/drawable-hdpi/ic_launcher_background.png , 837
UserRegistration/app/build/generated/res/pngs/debug/drawable-ldpi/ic_launcher_background.png , 339
UserRegistration/app/build/generated/res/pngs/debug/drawable-mdpi/ic_launcher_background.png , 411
UserRegistration/app/build/generated/res/pngs/debug/drawable-xhdpi/ic_launcher_background.png , 1255
UserRegistration/app/build/generated/res/pngs/debug/drawable-xxhdpi/ic_launcher_background.png , 2881
UserRegistration/app/build/generated/res/pngs/debug/drawable-xxxhdpi/ic_launcher_background.png , 4759
UserRegistration/app/build/generated/source/buildConfig/debug/com/example/userregistration/BuildConfig.java , 463
UserRegistration/app/build/intermediates/annotation_processor_list/debug/annotationProcessors.json , 2
UserRegistration/app/build/intermediates/apk_list/debug/mainApkListPersistenceDebug/apk-list.gson , 147
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/debug.json , 232012
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-af.json , 2005
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-am.json , 2003
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-ar.json , 2007
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-as.json , 2007
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-az.json , 2007
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-b+sr+Latn.json , 2051
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-be.json , 2008
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-bg.json , 2008
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-bn.json , 2010
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-bs.json , 2009
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-ca.json , 2008
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-cs.json , 2006
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-da.json , 2004
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-de.json , 2009
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-el.json , 2010
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-en-rAU.json , 2029
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-en-rCA.json , 2029
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-en-rGB.json , 2029
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-en-rIN.json , 2029
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-en-rXC.json , 2057
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-es-rUS.json , 2032
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-es.json , 2008
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-et.json , 2011
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-eu.json , 2007
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-fa.json , 2008
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-fi.json , 2004
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-fr-rCA.json , 2034
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-fr.json , 2010
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-gl.json , 2009
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-gu.json , 2007
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-h720dp-v13.json , 782
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-hdpi-v4.json , 811
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-hi.json , 2008
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-hr.json , 2007
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-hu.json , 2009
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-hy.json , 2006
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-in.json , 2008
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-is.json , 2004
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-it.json , 2007
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-iw.json , 2004
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-ja.json , 2001
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-ka.json , 2007
UserRegistration/app/build/intermediates/blame/res/debug/multi-v2/values-kk.json , 2006
最多只能显示150条信息!
