首页 - 神途资讯 > Android体育资讯app

Android体育资讯app

发布于:2024-12-23 作者:admin 阅读:9

(8)用户个人信息

该app通过网络获取到网易体育资讯提供的api数据接口并解析,最终呈现到资讯列表中给用户浏览,用户可以点击想要查看的文章跳转到该文章的内容页面并收藏文章。用户的个人信息及资讯的收藏信息都存储在的数据库中。

最终效果图:

二、内容介绍

本app的系统设计基于MVC架构思想,可分为三大层:用户界面,控制器,业务模型(数据库)。

数据库层中设计了两张表,分别是user表(存储用户的个人信息)、表(存储用户收藏的文章信息)。对数据库的创建及crud操作采用类(对象关系映射框架)来完成。上述两张表对应的实体类分别是User类和类。这两个类的属性分别对应各自表中的字段。用户界面层主要实现了6个页面,它们分别是用户登录页面(.xml)、用户注册页面(.xml)、资讯列表页面(.xml)、资讯文章内容页面(.xml)、个人收藏页面(.xml)、个人信息页面(.xml)控制器层主要实现列表页面到文章页面的跳转、收藏列表页面到文章页面的跳转、资讯列表页面中数据的呈现以及收藏列表页面中数据的呈现。它们分别对应类和类。 三、核心功能描述与代码 3.1 用户注册功能

获取用户在输入框中填写的数据并将其插入到数据库用户表中。

核心代码:

// 查询数据库用户表全部数据并获取每一条的name和mail数据
List<User> users = LitePal.select("name", "mail").find(User.class);
/* 遍历查询到的数据 *** ,判断用户名或邮箱是否已经被注册过,如果注册过则flag=false	*/
for (User user : users) {
    if(registerName.getText().toString().equals(user.getName()) ||
           registerMail.getText().toString().equals(user.getMail())) 	{	
        flag = false;
        break;
    }
}
if(flag)
{
    // 创建实体类组装数据
    User user = new User();
    user.setName(registerName.getText().toString());
    user.setMail(registerMail.getText().toString());
    user.setPassword(registerPwd.getText().toString());
    user.save();        // 向数据库user表中插入该条数据
    Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_SHORT).show();
    finish();
} else {
    Toast.makeText(RegisterActivity.this, "用户名或邮箱已被注册", Toast.LENGTH_SHORT).show();
}

3.2 用户登录功能

获取用户在输入框中填写的用户名和密码,查询数据库用户表判断是否有该用户,如果有则跳转到首页资讯列表并传递当前登录用户的用户名,如果没有则不进行跳转并提示用户登录失败。

核心代码:

// 查询数据库user表中name和password字段数据
List<User> users = LitePal.select("name", "password").find(User.class);
if(!(TextUtils.isEmpty(loginName.getText().toString())) && !(TextUtils.isEmpty(loginPwd.getText().toString()))) {
    for (User user : users) {
        // 查询数据库用户表判断是否有该用户
        if(loginName.getText().toString().equals(user.getName()) &&
            loginPwd.getText().toString().equals(user.getPassword())) {
            Toast.makeText(LoginActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
            // 跳转页面并保存该用户的用户名
            Intent intent = new Intent(LoginActivity.this, IndexActivity.class);
            GlobalData.setUsername(loginName.getText().toString());     // 用户名保存到全局变量中
            intent.putExtra("username", loginName.getText().toString());
            startActivity(intent);      // 跳转
            finish();
            break;
        }
    }

二维码

扫一扫关注我们

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,请告知我们,本站将立刻删除涉嫌侵权内容。

相关文章