基于 Android studio 开发的一个记账本

目录

1. 项目简介
1.1项目设计目标
1.2项目功能分析
2. 需求分析
2.1特性需求分析
2.2功能需求分析
3. 项目设计
3.1总体设计
3.2数据库ER图
3.3功能模块设计
4. 项目实现
4.1各功能模块的实现

原码转载至:https://download.csdn.net/download/XMJJCY/20382112
有偿的哦
或者加QQ:2372683984
我的android studio版本2021版

1. 项目简介

1.1项目简介
本组设计的记账本app是基于android系统开发的一款手机应用程序,其主要为了满足用户在快节奏的生活中可以较为便捷快速地记录个人收支情况,实现个人财务管理。App可以清晰显示收支情况,并以图表的形式根据个人理财实际需求,对于衣食住行进行分类,记录消费用途,项目能够精确到每一个款项的收入支出时间、结余并且可以设置年度和每月的预算。超出预算提醒,并且有每个月账单统计图表,较为清晰明确帮助用户分析自己当前的支出和收入。
本小组组长为陈钖境,四名成员分别是陈钖境、黄彪益、马昊、成力,由黄彪益同学主要完成登录注册以及主页面的设计,由马昊同学主要完成理财记账模块设计,由陈钖境同学主要负责明细页面以及适配器的设计,由成力同学主要完成个人中心和图表模块设计。

1.2项目功能分析
本项目主要包括以下功能。
1、登陆注册功能。
2、查看收入明细,时间收入支出结余明细一目了然。
3、检索收入及支出记录。
4、记录收入及支出。
4、图表展示收入及支出。
5、设置年度预算,每月预算,查看结余。
6、设置超出预算功能,超出预算给出提醒。
7、设置底部导航栏,将多个页面组合在一起,可以让用户快速的访问希望访问的页面。

2. 需求分析

2.1特性需求分析
(1)易操作、功能简单明确便捷。本记账本初心即为在当今快节奏生活中便捷记录支出收入,帮助用户更好规划理财。此应用应该做到让用户可以很明了的通过界面明白各项功能,操作简单,界面友好易懂。用户可以根据手机界面很清楚的进行记账,删除,查账,更改等功能。
(2)应用的整个页面需要做到外观美观,操作流畅。
(3)软件易维护,系统各个模块设计应该明确易懂。
2.2功能需求分析
用户在登陆后应该便捷的完成查看账本、添加删除账单、搜索账单、图表显示收支、个人中心各项功能。
(1)用户查看账本功能:用户进入app后在主界面可以通过明细便捷查看收支和结余情况,并可明了最近账目的类型例如吃饭、购物、话费、工资、津贴、红包等等。
(2)添加删除账单:可便捷添加和删除账单,并在添加时可以备注账单并选择收支分类例如例如吃饭、购物、话费、工资、津贴、红包等等
(3)搜索账单:可根据备注来便捷搜索相关所有账单。
(4)图表显示:可在图表页面清晰明白看到支出和输入在总支出和总输入里的占比,更好的让用户了解个人收支习惯和基本情况。
(5)个人中心:用户可在个人中心查看个人使用该app的情况,并可设计年预算和月预算,并显示预算余额,刚好地帮助用户完成个人财务管理。

3. 项目设计

3.1.1总体设计
本项目采用MVC三层架构。
包含三个主页面:明细、图表、我的。
3.1.2文件结构与用途
(1)给出工程源代码的结构图,示例如下:
在这里插入图片描述
在这里插入图片描述

(2)源代码文件。
表4-1 工程的文件用途说明
包 名 称 文 件 名 说 明

main AndroidManifest.xml #Android应用的入口文件,描述项目信息
com.lyc.cashbook App.java #应用的配置文件
com.lyc.cashbook.ui LoginActivity.java #登陆页面
com.lyc.cashbook.ui MainActivity.java #登陆之后的首页
com.lyc.cashbook.ui RegsterActivity.java #注册页面
com.lyc.cashbook.ui FbActivity.java #添加收入或支出页面
com.lyc.cashbook.ui SearchActivity.java #查询信息页面
com.lyc.cashbook.adapter MxAdapter.java #适配器文件
com.lyc.cashbook.adapter MyAdapter.java #适配器文件
com.lyc.cashbook.bean Info.java #收入和支出类
com.lyc.cashbook.bean User.java #用户类
com.lyc.cashbook.base BaseActivity.java #自定义的Activity类
com.lyc.cashbook.base BaseFragment.java #自定义的Fragment类
com.lyc.cashbook.base BaseMainActivity.java #自定义的Activity类
com.lyc.cashbook.fragment MxFragment.java #收入和支出明细页面
com.lyc.cashbook.fragment SRFragment.java #添加收入页面
com.lyc.cashbook.fragment TbFragment.java #图表页面
com.lyc.cashbook.fragment WdFragment.java #我的信息页面
com.lyc.cashbook.fragment ZCFragment.java #添加支出页面

表4-2 资源文件名称与用途
资源目录 文 件 说 明

drawable ic_delete.png #存放布局文件所需要的图片或样式
layout activity_fb.xml #收入和支出明细的布局
activity_login.xml #登陆页面的布局
activity_main.xml #主页面的布局
activity_register.xml #注册页面的布局
fragment_tb.xml #表格的碎片布局
activity_search.xml #查询页面的布局
fragment_mx.xml #收入和支出明细的碎片布局
fragment_sr.xml #添加收入的碎片布局
fragment_wd.xml #我的信息的碎片布局
fragment_zc.xml #添加支出的碎片布局
item_mx.xml #支出和收入列表的布局
view_title.xml #菜单栏布局
menu menu.xml #菜单栏
values colors.xml #颜色样式
strings.xml #字符串
styles.xml#样式布局

3.2数据库ER图

在这里插入图片描述

3.3功能模块设计
3.3.1 登录模块
3.3.2 注册模块
3.3.3 理财记账模块
3.3.4 个人中心模块

3.3.1 登录模块
(1)该功能模块首先制作界面,然后对账号和密码进行操作,密码验证后才可以进到软件,具有安保性。通过查询数据库来查询是否存在该用户,并且判断用户名或密码是否正确。

关键技术:如果没有账号,点击“注册”跳转到注册界面;如果已经有了账号,点击“已有账号?去登录”跳转到登录界面,账号或者密码错误都会提醒,输入账号密码正确,提示“登录成功”会跳转到账单界面,跳转时传递数据(用户的id) ;数据库的查询;

(2)给出该功能模块的关健代码

  //登录
    private void login() {
   
        String account = mEt_account.getText().toString();
        String psw = mEt_psw.getText().toString();
        if (TextUtils.isEmpty(account)) {
   
            toast("账号不能为空");
        } else if (TextUtils.isEmpty(psw)) {
   
            toast("密码不能为空");
        } else {
   
            //本地所有用户
            final List<User> all = LitePal.findAll(User.class);
            //查询本地所有用户
            for (int i = 0; i < all.size(); i++) {
   
                //如果有输入的账号的
                if (all.get(i).getUsername().equals(account)) {
   
                    //如果账号存在去匹配这条数据的密码
                    if (all.get(i).getPassword().equals(psw)) {
   
                        toast("登录成功");
                        //保存用户id和登录状态到本地,不用重复登录
                        getSharedPreferences("user", MODE_PRIVATE)
  • 20
    点赞
  • 352
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值