Android 活动与活动间数据传递

实验内容

综合运用基本组件完成一个注册与登录的应用程序设计。要求基于基础控件,综合使用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>

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值