广告
返回顶部
首页 > 资讯 > 移动开发 >Android实现登录注册功能
  • 291
分享到

Android实现登录注册功能

2024-04-02 19:04:59 291人浏览 安东尼
摘要

本文实例为大家分享了Android实现登录注册功能的具体代码,供大家参考,具体内容如下 运行环境 Android Studio 总体效果图 一、 设计注册页面的布局 二、完成注册

本文实例为大家分享了Android实现登录注册功能的具体代码,供大家参考,具体内容如下

运行环境 Android Studio

总体效果图

一、 设计注册页面的布局

二、完成注册功能

(1) 添加User类

(2)添加 UserManager类 管理用户信息

package com.example.videoplayer;

import android.hardware.usb.UsbRequest;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;


public class UserManager
{
    //创建一个List来缓存User信息
    List<User> userList = new ArrayList<>();

    //数据保存到这个文件
    File file;

    public UserManager(File file)
    {
        this.file = file;
    }

    //保存文件
    public void save() throws Exception
    {
        //每行存储一个用户的信息
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        for (User u : userList)
        {
            String line = u.username + "," + u.passWord + "\n";
            fileOutputStream.write(line.getBytes("UTF-8"));
        }
        fileOutputStream.close();
    }

    //从文件加载
    public void load() throws Exception
    {
        InputStreamReader in = new InputStreamReader(new FileInputStream(file));
        BufferedReader reader = new BufferedReader(in);

        userList.clear();//清空链表
        while (true)
        {
            String line = reader.readLine();
            if (line == null)
                break;
            String[] cols = line.split(",");
            if (cols.length<2) continue;

            User user = new User();
            user.username = cols[0].trim();
            user.password = cols[1].trim();
            userList.add( user );
        }
        reader.close();
    }

    //注册一个新用户
    public void add(User u)
    {
        userList.add(u);
    }

    // 按名称查找
    public User find(String username)
    {
        for (User u : userList)
        {
            if(u.username.equals(username))
            {
                return u;
            }
        }
        return null;
    }

}

(3)在ReGISterActivity里面调用UserManager 实现注册

package com.example.videoplayer;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import java.io.File;

public class RegisterActivity extends AppCompatActivity
{

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
    }

    public void doRegister(View view)
    {
        //获取用户输入
        String username = ((EditText)findViewById(R.id.id_username)).getText().toString();
        String password = ((EditText)findViewById(R.id.id_password)).getText().toString();
        String password2 = ((EditText)findViewById(R.id.id_password2)).getText().toString();

        if(!password.equals(password2))
        {
            Toast.makeText(this,"两次密码不一致",Toast.LENGTH_SHORT).show();
            return;
        }

        //保存用户信息
        File file = new File(getExternalFilesDir(""),"users.txt");
        UserManager userManager = new UserManager(file);
        try {
            userManager.load();//从users.txt 中读取数据
        }catch (Exception e){

        }

        //检查用户是否存在
        if(userManager.find(username) != null)
        {
            Toast.makeText(this, "用户名已经存在!", Toast.LENGTH_SHORT).show();
        }
        else
        {
            //添加用户 保存文件
            userManager.add(new User(username,password));
            try {
                userManager.save();
            }catch (Exception e){
                e.printStackTrace();
            }
            Toast.makeText(this, "注册成功!", Toast.LENGTH_SHORT).show();
        }
    }
}

三、添加登录页面

(1)添加布局

(2)点击注册跳转到登录页面

(3)点击登录能跳转到主页面

最后应调用finish()关闭本界面,即从返回栈里销毁本界面。原因是,当用户进入主界面后,点返回时应返回到Home主屏,而不应该返回到登录界面。
(可扩展:保存登录信息 自动登录)

package com.example.videoplayer;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import java.io.File;

public class UserLoginActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_user_login);
    }

    //点击 '登录' 按钮
    public void doLogin(View view)
    {
        // 取得用户界面输入
        String username = ((EditText)findViewById(R.id.id_username)).getText().toString();
        String password = ((EditText)findViewById(R.id.id_password)).getText().toString();

        //从文件里加载所有用户的数据
        File file = new File(getExternalFilesDir(""),"users.txt");
        UserManager userManager = new UserManager(file);
        try {
            userManager.load();
        }catch (Exception e){}

        //从用户列表里查找用户
        User user = userManager.find(username);
        if (user == null)
        {
            Toast.makeText(this, "无此用户!", Toast.LENGTH_SHORT).show();
            return;
        }

        //比较密码是否匹配
        if (!user.password.equals(password))
        {
            Toast.makeText(this, "密码错误!", Toast.LENGTH_SHORT).show();
            return;
        }

        //登录成功 把用户信息放在全局对象里

        //进入主界面
        Intent intent = new Intent(UserLoginActivity.this,MainActivity.class);
        startActivity(intent);
        finish();

    }

    // 点击 '注册' 按钮
    public void doRegister(View view)
    {
        Intent intent = new Intent(UserLoginActivity.this, RegisterActivity.class);
        startActivity(intent);
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Android实现登录注册功能

本文链接: https://www.lsjlt.com/news/147025.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android实现登录注册功能
    本文实例为大家分享了Android实现登录注册功能的具体代码,供大家参考,具体内容如下 运行环境 Android Studio 总体效果图 一、 设计注册页面的布局 二、完成注册...
    99+
    2022-11-13
  • android登录注册功能如何实现
    要实现Android的登录注册功能,你可以按照以下步骤进行操作:1. 创建一个布局文件来设计登录和注册界面。可以使用EditText...
    99+
    2023-10-20
    android
  • Android实现登录注册功能封装
    我们都知道Android应用软件基本上都会用到登录注册功能,那么对一个一个好的登录注册模块进行封装就势在必行了。这里给大家介绍一下我的第一个项目中所用到的登录注册功能的,已经对...
    99+
    2022-06-06
    封装 Android
  • Android用SharedPreferences实现登录注册注销功能
    Android用SharedPreferences实现登录注册注销功能 前言 本文用SharedPreferences本地缓存账号信息来实现登录注册功能,以及退出注销功能。 一、本文...
    99+
    2022-11-13
  • Android使用http实现注册登录功能
    在项目中实现注册登录有很多种方式,一般对于初学者来说,不使用框架,采用http的post和get请求后台服务器,是一种更好理解底层源码的方式。使用框架实现注册登录虽然比自己封装pos...
    99+
    2022-11-13
  • Android实现登录界面的注册功能
    本文实例为大家分享了Android登录界面的注册实现代码,供大家参考,具体内容如下 注册一个登录界面在控制台将输入的信息文本选框展示出来 xml界面设计(前面已发) <xml ...
    99+
    2022-11-13
  • Android基于Sqlite实现注册和登录功能
    Android中基于Sqlite实现注册和登录功能,供大家参考,具体内容如下 前言 写这篇博客主要是为了巩固一下学的Sqlite知识以及梳理一下这个项目的逻辑 实现逻辑 项目的图片...
    99+
    2022-11-13
  • Python实现注册登录功能
    用Python写个注册登录功能,供大家参考,具体内容如下 本文是用Python写一个注册登录功能,难度不大,很适合练手主要就是用列表和字典,以及逻辑判断用到的第3方库模块是time模...
    99+
    2022-11-13
  • Node.js实现登录注册功能
    本文实例为大家分享了Node.js实现登录注册功能的具体代码,供大家参考,具体内容如下 目录结构 注册页面: reg.html <!DOCTYPE html> <...
    99+
    2022-11-13
  • Android用SharedPreferences怎么实现登录注册注销功能
    这篇“Android用SharedPreferences怎么实现登录注册注销功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇...
    99+
    2023-06-30
  • Android如何实现登录界面的注册功能
    今天小编给大家分享一下Android如何实现登录界面的注册功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。注册一个登录界面...
    99+
    2023-06-30
  • python实现登录与注册功能
    本文实例为大家分享了python实现登录与注册的具体代码,供大家参考,具体内容如下 1. 案例介绍 本例设计一个用户登录和注册模块,使用 Tkinter 框架构建界面,主要用到画布、...
    99+
    2022-11-12
  • NodeJs+MySQL实现注册登录功能
    本文实例为大家分享了NodeJs+MySQL实现注册登录功能的具体代码,供大家参考,具体内容如下 之前写过一个没有连接数据库的注册与登陆的实现,这次加上了数据库 刚刚接触后端,很多不...
    99+
    2022-11-13
  • Android基于Sqlite怎么实现注册和登录功能
    本篇内容主要讲解“Android基于Sqlite怎么实现注册和登录功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android基于Sqlite怎么实现注册和登录功能”吧!实现逻辑项目的图片结...
    99+
    2023-06-30
  • Android中怎么利用MVP实现登录注册功能
    这篇文章给大家介绍Android中怎么利用MVP实现登录注册功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。model包:import com.bwei.mvps.bean.UserBean;public&...
    99+
    2023-05-30
    android mvp
  • Android中怎么利用OKhttp3实现登录注册功能
    这期内容当中小编将会给大家带来有关Android中怎么利用OKhttp3实现登录注册功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、Android前端实现新建一个login的项目,主要的几个文件在这...
    99+
    2023-06-20
  • Spring MVC+mybatis实现注册登录功能
    本文实例为大家分享了Spring MVC mybatis实现注册登录功能的具体代码,供大家参考,具体内容如下前期准备: 如下图所示,准备好所需要的包 新建工程,导入所需要的包,在web.xml中配置好所需要的,如下<...
    99+
    2023-05-31
    spring mvc mybatis
  • java+mysql实现登录和注册功能
    初学JAVA  EE,老师留下一小作业,用JAVA实现与服务器端交互,实现登录和注册功能,初学一种专业课很多老师都会留下一种让学生实现登录和注册的作业。 下面是记录的实现步...
    99+
    2022-11-13
  • 基于Spring5实现登录注册功能
    本文实例为大家分享了Spring5实现登录注册功能的具体代码,供大家参考,具体内容如下 准备: 根据分析用户注册登录都需要的信息为①username(String)②userid(I...
    99+
    2022-11-13
  • node.js实现简单登录注册功能
    本文实例为大家分享了node.js实现简单登录注册的具体代码,供大家参考,具体内容如下 1、首先需要一个sever模块用于引入路由,引入连接数据库的模块,监听服务器2、要有model...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作