项目目录

  • 一、项目概述
  • 二、开发环境
  • 三、详细设计
  • 1、登录界面的搭建
  • 2、注册界面的搭建
  • 3、好友列表界面的搭建
  • 4、跳转功能实现
  • 四、项目效果
  • 五、项目总结
  • 六、源码下载


一、项目概述

本次项目主要包含了注册、登录和好友列表三个界面以及之间相互跳转。其中好友列表界面设计的很详细,有好友头像和消息内容,登录界面设计的非常好看。打开应用,进入登录界面,用户可以点击注册按钮进入注册界面,输入完账号和密码后,点击注册,自动跳转回登录界面,这时候账号和密码也会被传递过来,点击登录按钮进入好友列表界面,账号也被会被传递过去。

二、开发环境

android studio用户登录界面 android studio登录成功并跳转页面_android大作业

三、详细设计

1、登录界面的搭建

整体布局是相对布局RelativeLayout,由上至下放置了ImageView(头像框),账号的TextView文本框和EditText输入框;紧接着是密码的TextView文本框和EditText输入框。左下是记住密码的复选框,右下是注册账号的按钮。最下面是经典的登录按钮。

android studio用户登录界面 android studio登录成功并跳转页面_安卓app_02

2、注册界面的搭建

最外层是采用RelativeLayout布局。顶部是一个“新用户注册”的TextView,居中对齐,下面一个LinearLayout,水平放置账号的TextView和EditText;紧接着还是一个LinearLayout,水平放置密码的TextView和输入框EditText,最下面是注册的Button。

android studio用户登录界面 android studio登录成功并跳转页面_安卓系统_03

3、好友列表界面的搭建

最外层依然是LinearLayout布局,对齐方式为vertical垂直。首先最上面是一个LinearLayout,里面放了一个ImageView头像,和一个TextView文本框,用来接收用户登录时的账号,并显示出来。中间是一个TextView,显示“好友列表”,背景是color中自定义的颜色,下面就是一个ListView列表,显示好友的聊天信息。

android studio用户登录界面 android studio登录成功并跳转页面_安卓app_04

4、跳转功能实现

登录按钮的点击事件,最直观效果是:点击之后从当前的主界面跳转到好友列表界面。其实还有两点逻辑在跳转前进行了处理:

  1. 点击按钮时判断【记住密码】的复选框是否被选中,如果被选中,将数据库中存放的键值修改为true,否则为false。便于应用启动时自动填写账号和密码。
  2. 判断当前输入的账号和密码是否和数据库中存储的账号密码相同,如果相同,则登录成功,否则弹出“账号或密码错误”的提示信息。
//点击事件
        btnLog.setOnClickListener(new View.OnClickListener() {//匿名内部类方式实现按钮点击事件
            @Override
            public void onClick(View v) {//传递数据
                //获取当前输入的账号和密码
                String etAccount=account.getText().toString().trim();
                String etPassword=password.getText().toString().trim();
                //复选框是否选中
                if(remember.isChecked()){
                    sh.isRemember(true);
                }else{
                    sh.isRemember(false);
                }
                //在数据库中对账号和密码进行比对
                String acc=data.get("username");
                String pass=data.get("password");
                //账号和密码都正确
                if(acc.equals(etAccount)&&pass.equals(etPassword)){
                    //进行跳转
                    Intent intent=new Intent(MainActivity.this,FriendListActivity.class);
                    intent.putExtra("account",etAccount);
                    startActivity(intent);
                    finish();
                }else{//账号或密码错误
                    Toast.makeText(MainActivity.this,"账号或密码有误",Toast.LENGTH_SHORT).show();
                }
            }
        });

注册按钮绑定的监听器,创建意图Intent,实现点击跳转到注册界面。

//注册按钮的点击事件
        btnReg.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this, RegisterActivity.class);
                startActivityForResult(intent,1);//返回请求结果,请求码为1
            }
        });

注册界面的注册按钮,实现View.OnClickListener 接口,重写了父类的onClick()方法,创建Intent(意图),并将注册的账号和密码传递过去。传递结束后,销毁自身活动。

public void onClick(View v) {
        String etAccount=account.getText().toString().trim();
        String etPassword=password.getText().toString().trim();
        //弹出提示信息
        Toast.makeText(this, "注册成功!", Toast.LENGTH_SHORT).show();
        Intent intent = new Intent();
        //传递账号和密码
        intent.putExtra("account", etAccount);
        intent.putExtra("password", etPassword);
        //设置请求码,然后进行跳转
        setResult(1, intent);
        //销毁本活动
        finish();
    }

四、项目效果

1、主界面默认显示为登录界面。

android studio用户登录界面 android studio登录成功并跳转页面_安卓系统_05


2、点击注册按钮进入注册界面。

android studio用户登录界面 android studio登录成功并跳转页面_android大作业_06


3、我们输入账号密码,都是123456,然后点击注册按钮

android studio用户登录界面 android studio登录成功并跳转页面_android大作业_07


4、跳转回登录界面,账号密码也被传递过来了

android studio用户登录界面 android studio登录成功并跳转页面_安卓系统_08


5、我们选择【记住密码】,点击登录按钮,成功跳转到好友列表,账号也被传递过来了

android studio用户登录界面 android studio登录成功并跳转页面_移动应用开发_09


6、退出应用,重新打开应用,发现账号和密码自动填写在输入框中。

android studio用户登录界面 android studio登录成功并跳转页面_安卓app_10


7、我们在右侧的Device File Explore中,按下面顺序打开文件:data->data->包名->shared_prefs->mysp.xml。可以看到我们的存储的账号和密码的map键值对。

android studio用户登录界面 android studio登录成功并跳转页面_android大作业_11

五、项目总结

本次QQ页面跳转项目,主要考验学生对于ListView列表、Intent跳转以及SharedPreferences数据存储的使用,对多个页面之间的跳转和传值要熟稔于心,这些基础知识点在今后的Android项目中会经常使用,因此希望大家能够熟练掌握上述知识点,方便后续顺利开发项目。