实验内容

综合运用基本组件完成一个注册与登录的应用程序设计。要求基于基础控件,综合使用Intent实现Android的Activity之间信息交换。系统包含启动页、注册页、登录页3个页面,具体要求如下:

1.注册页面和功能的实现。

–界面要求包含用户名、密码、重复密码信息。

–要求在用户输入信息后,单击注册按钮,将用户的注册信息用Toast显示。

2.登陆页面和功能的实现。

–要求包含用户名、密码,要求包含登陆和注册功能。

–要求用户输入信息后,**对用命名和密码进行检查**:默认用户名为“Admin”,密码为“I love Android”,Toast提示“欢迎进入DIY”,否则提示“用户名或密码不正确,请重试”。

3.上述两个页面进行信息传递。

–注册的信息能用于登陆页面。第一次打开应用时可以通过注册按钮进行注册;在注册界面完成注册后返回至登陆页面,可使用注册信息进行登陆,并利用Toast显示登录成功与否的提示信息。

4.为该项目制作一个启动页。

–项目运行后首先进入启动页,若干秒后进入登录页面。

–增加适当的动画效果;

–去掉启动页面的标题效果。

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"package="com.example.myapplication1"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"tools:ignore="GoogleAppIndexingWarning"><activity android:name=".SplashActivity"><intent-filter ><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /></intent-filter></activity><activity android:name=".SubActivity1"><intent-filter><action android:name="android.intent.action.MAIN" /></intent-filter></activity><activity android:name=".SubActivity2"><intent-filter ><action android:name="android.intent.action.MAIN" /></intent-filter></activity></application></manifest>

MainActivity.java

package com.example.myapplication1;import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {private Button button1,button2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1=(Button)findViewById(R.id.button1);//映射activity_main.xml中的id=button1按钮button2=(Button)findViewById(R.id.button2);//映射activity_main.xml中的id=button2按钮final String user = "Admin";final String pass = "I love Android" ;//为两个按钮增加点击事件监听button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String username = "";EditText editText1 = (EditText)findViewById(R.id.editText);username = editText1.getText().toString();String password = "";EditText editText2 = (EditText)findViewById(R.id.editText2);password = editText2.getText().toString();if(username.equals(user) && password.equals(pass)){String msg = "欢迎进入DIY!";Toast toast = Toast.makeText(MainActivity.this,msg,Toast.LENGTH_SHORT);toast.setGravity(Gravity.CENTER,0,0);toast.show();Intent intent = new Intent(MainActivity.this,SubActivity1.class);startActivity(intent);}else{String msg = "Wrong username or password.Please try again!";Toast toast = Toast.makeText(MainActivity.this,msg,Toast.LENGTH_SHORT);toast.setGravity(Gravity.CENTER,0,0);toast.show();}}});button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent(MainActivity.this,SubActivity2.class);startActivity(intent);}});}}

SplashActivity.java

package com.example.myapplication1;import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.Window;
import android.view.WindowManager;import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;public class SplashActivity extends AppCompatActivity {@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_splash);//加上这句设置为全屏不加只隐藏titlegetWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);new Handler().postDelayed(new Runnable() {@Overridepublic void run() {Intent mainIntent = new Intent(SplashActivity.this,MainActivity.class);startActivity(mainIntent);//动画效果overridePendingTransition(R.anim.abc_slide_in_bottom, R.anim.abc_slide_out_bottom);finish();}},3000);}
}

SubActivity1.java

package com.example.myapplication1;import android.app.Activity;
import android.os.Bundle;import androidx.annotation.Nullable;public class SubActivity1 extends Activity {@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_sub1);/* Button button1;button1=(Button)findViewById(R.id.button1);button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String msg = "欢迎进入DIY!";Toast toast = Toast.makeText(SubActivity1.this,msg,Toast.LENGTH_SHORT);toast.setGravity(Gravity.CENTER,0,0);toast.show();}});*/}
}

SubActivity2.java

package com.example.myapplication1;import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import androidx.annotation.Nullable;public class SubActivity2 extends Activity {private Button button3;protected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_sub2);button3=(Button)findViewById(R.id.button3);final EditText usernameET,passwordET;usernameET =(EditText)findViewById(R.id.editText5);passwordET = (EditText)findViewById(R.id.editText6);button3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String msg = "您输入的用户名是"+usernameET.getText()+"\n"+"密码是"+passwordET.getText();Toast toast = Toast.makeText(SubActivity2.this,msg,Toast.LENGTH_SHORT);toast.setGravity(Gravity.CENTER,0,0);toast.show();}});}
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns: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:orientation="vertical"android:gravity="center_horizontal|center_vertical"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="WELCOME"android:gravity="center"android:textSize="24sp"android:textStyle="bold"/><EditTextandroid:id="@+id/editText"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入用户名" /><EditTextandroid:id="@+id/editText2"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入密码"android:inputType="textPassword"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="login"android:layout_weight="1"android:textSize="16sp"/><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="register"android:layout_weight="1"android:textSize="16sp"/></LinearLayout></LinearLayout>

activity_splash.xml

<?xml version="1.0" encoding="utf-8"?>
<!--suppress ALL -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:id="@+id/imageView"android:layout_width="match_parent"android:layout_height="match_parent"android:src="@drawable/view"android:scaleType="fitXY"/></LinearLayout>

activity_sub1.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent"android:weightSum="1"><TextViewandroid:id="@+id/textView3"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginTop="200dp"android:layout_weight="1"android:text="欢迎进入DIY!"android:textAlignment="center"android:textSize="24sp"android:textColor="@color/colorAccent"/></LinearLayout>

activity_sub2.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_horizontal|center_vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="WELCOME"android:layout_gravity="center"android:textSize="24sp"android:textStyle="bold"/><EditTextandroid:id="@+id/editText5"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入用户名" /><EditTextandroid:id="@+id/editText6"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入密码"android:inputType="textPassword"/><EditTextandroid:id="@+id/editText7"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请确认密码"android:inputType="textPassword"/><Buttonandroid:id="@+id/button3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="submit"android:layout_gravity="center"/></LinearLayout>
</LinearLayout>

Android 活动与活动间数据传递相关推荐

  1. asp.net页面间数据传递(总结篇)

    asp.net页面间数据传递(总结篇) 1. Get(即使用QueryString显式传递)      方式:在url后面跟参数.      特点:简单.方便.      缺点:字符串长度最长为255 ...

  2. 三、Vue(组件、组件间数据传递、slot内容分发、vue-router路由、单文件组件、vue-cli脚手架 )

    一. 组件component 1. 什么是组件?     组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码     组件是自定义元素(对象) ...

  3. 进程间数据传递:Queue,Pipe 进程间数据共享:Manager

    进程间数据传递:Queue,Pipe 进程间数据共享:Manager 1.使用multiprocessing模块的Queue实现数据传递 ''' 进程间通讯:Queue,用法跟线程里的Queue一样, ...

  4. 页面url带参数_微信小程序云开发教程微信小程序的JS高级页面间数据传递

    同学们大家好,我是小伊同学,上一节课我们讲解了全局数据的读写方法,那么在页面间同样需要数据交互,今天我们就来学习这部分内容. 在微信小程序中,我们常常需要将数据在页面之间进行传递,比如用户的身份信息, ...

  5. ASP.NET页面间数据传递的方法

    本文我们将讨论的是ASP.NET页面间数据传递的几种方法,对此希望能帮助大家正确的理解ASP.NET页面间数据传递的用处以及便利性. 0.引言 Web页面是无状态的, 服务器对每一次请求都认为来自不同 ...

  6. ASP.NET页面间数据传递的几种方法

    1.ASP.NET页面间数据传递的各种方法和分析 1.1 使用Querystring 方法 QueryString 也叫查询字符串, 这种方法将要传递的数据附加在网页地址(URL)后面进行传递.如页面 ...

  7. android 打印流程图,Android实现Activities之间进行数据传递的方法

    本文实例讲述了Android实现Activities之间进行数据传递的方法.分享给大家供大家参考.具体分析如下: 首先,先说明一下Activity的启动及关闭: 1. startActivity(In ...

  8. python调用接口获取数据_python:接口间数据传递与调用方法

    如下所示: import requests import unittest import json from pubulic_way.get_token import getSession class ...

  9. Matlab GUI与GUI间数据传递实现

    Matlab GUI与GUI间数据传递实现 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.ne ...

  10. Android零基础入门第83节:Activity间数据传递方法汇总

    2019独角兽企业重金招聘Python工程师标准>>> 在Activity间传递的数据一般比较简单,但是有时候实际开发中也会传一些比较复杂的数据,本节一起来学习更多Activity间 ...

最新文章

  1. HDU 1877 另一个版本 A+B
  2. pybind 传递指针
  3. Session丢失的解决办法小结
  4. Spring Boot-使用Spring Initializer快速创建Spring Boot项目
  5. IDEA、Sublime、Eclipse、VSCode 常用快捷键整合
  6. CSS控制的内容超过容器宽度后显示省略号
  7. C语言单链表实现FCFS算法,数据结构与算法复习题(含答案).doc
  8. 函数指针 如:void (*oper)(ChainBinTreee *p)
  9. 接口测试用python怎么做_请问一下python怎么做接口测试工具?
  10. Java枚举getDeclaringClass()方法与示例
  11. 10个性鼠标指针主题包_游戏鼠标推荐
  12. J.U.C - 其它组件
  13. Linux iostat和vmstat命令
  14. php-fpm 相关
  15. 模拟Post登陆带验证码的网站
  16. pandownload提示“初始化脚本失败”解决方法
  17. 圆钢孔型计算机模拟,第五章 金属塑性加工ppt课件.ppt
  18. Python-有道翻译
  19. android手机内存不足使用sd卡,解决红米内存不足(内置SD卡与外置SD卡互换)
  20. 私有云的优缺点_公有云、私有云、混合云的优缺点

热门文章

  1. SSL证书可以给多个域名使用吗?
  2. Pandas缺失数据
  3. SVN版本控制系统使用
  4. Android自定义ListView的Item无法响应OnItemClick的解决办法
  5. 图论:关于二分图的总结(转载)
  6. Python相关机器学习
  7. VINS-mono详细解读与实现
  8. Linux下文件如果没有权限不能被Apache访问
  9. php如何调用c接口无错版
  10. ASP.NET2.0 GridView小技巧汇粹