实验内容
综合运用基本组件完成一个注册与登录的应用程序设计。要求基于基础控件,综合使用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">
<application
android: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;
@Override
protected 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() {
@Override
public 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() {
@Override
public 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 {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_splash);
//加上这句设置为全屏不加只隐藏title
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
new Handler().postDelayed(new Runnable() {
@Override
public 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 {
@Override
protected 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() {
@Override
public 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() {
@Override
public 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"?>
<LinearLayout
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:orientation="vertical"
android:gravity="center_horizontal|center_vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="WELCOME"
android:gravity="center"
android:textSize="24sp"
android:textStyle="bold"/>
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入用户名" />
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入密码"
android:inputType="textPassword"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="login"
android:layout_weight="1"
android:textSize="16sp"
/>
<Button
android: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"
>
<ImageView
android: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"
>
<TextView
android: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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="WELCOME"
android:layout_gravity="center"
android:textSize="24sp"
android:textStyle="bold"/>
<EditText
android:id="@+id/editText5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入用户名" />
<EditText
android:id="@+id/editText6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入密码"
android:inputType="textPassword"
/>
<EditText
android:id="@+id/editText7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请确认密码"
android:inputType="textPassword"
/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="submit"
android:layout_gravity="center"
/>
</LinearLayout>
</LinearLayout>