经过三周左右的Android学习,实感只有上手开发才能有所提高。在此打算做一个家庭记账APP,同时巩固一下学到的东西并且弥补漏洞。

概述

记账是自古以来人类必不可少的一件事,从古代的算盘,到手写账本,再到计算机、计算器,直至现在的移动APP,随着时代的发展技术的进步,人们的生活方式也在不断地发生变化,在移动支付普及的现代,很多家庭或个人对自己的收支情况的认识不再像以前主要流通纸币时那样清楚,有时不经意间一激动可能资产就流到别家,这时一款记账APP更显得不可或缺,它不仅可以帮助用户记录个人或家庭资产的收支情况,也能有效帮助用户减少开支。

功能分析

一提到APP,登录注册功能是必不可少的,需要支持多种登录方式,如手机号登录或第三方登录等。

而要实现记账,就必须有添加收支情况的功能(同时记录当前收支的具体信息如时间、地点、事件等),已添加的收支情况也要根据用户需求支持修改和删除,以防用户记录有误的情况。

作为一个现代化的记账APP,对于总的账本记录,还需要有一个汇总统计的功能(支持数据汇总的图表型展示),同时还要支持用户查询某一特定时间段或特定条件(分类)下的记录。

除此之外,一个人还可能不止一个记账本,如,家庭和公司账目要区分开,此时就需要APP支持多个账本的功能。

作为一个家庭记账APP,“家庭”的参与也是必不可少的,因此可以通过二维码或者邀请码的方式实现家庭成员的邀请。

记账可以说是部分用户的隐私,为了保护用户的隐私可以给APP添加手势密码。

用户信息与常见操作以侧边栏的方式实现(仿qq),编辑和切换账本的功能也可集成在此页。

为了方便用户对系统设置进行操作或更改,还需要添加设置页,集成账号管理、密码管理等功能。

功能概括

综上所述,可概括APP功能大致如下:

1.登录注册

2.收支情况的增删改查

3.账本的增删改(一般账本不会很多,不再给账本添加查询功能)

4.账单的统计分析

5.系统设置

6.用户信息及简单操作(用户名、头像、家庭、扫一扫等功能可放到一个页面)

主要UI设计(初稿)

暂定UI草图如下(会在开发过程中有适当调整):

首页:

统计页:

添加页:

查看明细页:

结:该APP将在7天左右完成,具体功能细节视时间以及开发瓶颈会进行适当增减

Android实战项目——家庭记账本设计思路的更多相关文章

  1. Android实战项目——家庭记账本(一)

    今天是家庭记账本APP开发的第一天,主要是做了一部分UI设计,不得不说,虽然web开发和Android开发有很多相似的地方,但是一个Android APP是很难三个小时开发完成的. 通过今天的学习与开 ...

  2. Android实战项目——家庭记账本(六)

    今天完成的主要任务如下: 1.设置页功能的布局 2.云服务器的部署 3.成功将一个本地Javaweb项目部署到阿里云 没什么特别说明的,直接上图: 首先是侧边栏功能的布局:               ...

  3. Android实战项目——家庭记账本(七)

    今天主要实现了登录注册功能的客户端和服务端,但由于短信接口调用出现问题,导致注册功能还不完整. 截止到今天,APP的功能已经基本完成,后续还会陆陆续续的完善各功能模块与服务端的交互,因为需要和云端关联 ...

  4. Android实战项目——家庭记账本(三)

    今天完成的主要内容有: 1.主页面账单明细部分细节展示 2.对每个列表项,点击打开新的可编辑修改具体页面 3.实现了搜索页面的UI布局 4.优化了部分页面的UI,提升用户视觉和使用体验 实现效果如下: ...

  5. Android实战项目——家庭记账本(五)

    今天博客写的有点晚(好像算是昨天的了),有一点小bug刚刚改完.今天完成的任务有: 1.统计页的布局和功能 2.主页碎片的图表功能 实现效果如下:                      其中,统计 ...

  6. Android实战项目——家庭记账本(四)

    今天是开发的第四天,完成的主要内容如下: 1.账单查询功能的完善以及查询结果的显示和编辑 2.侧边栏布局的实现 3.首页fragment中本月与上月对比账目情况 实现的效果如图: 已添加的账单内容以及 ...

  7. Android实战项目——家庭记账本(二)

    今天主要是对昨天做的添加账单信息的功能做了完善,实现了数据库的相关操作,如图是对已添加的账单信息的总结显示. 目前实现了通过日期进行汇总的功能,如上图中的各项item就是通过对所有账单信息进行按日期汇 ...

  8. Android实战项目:房贷计算器

    APP源码已上传到我的GitHub:https://github.com/zdm-code/Android-learning/tree/master/android_learning/mortgage ...

  9. .NET Core实战项目之CMS 第七章 设计篇-用户权限极简设计全过程

    写在前面 这篇我们对用户权限进行极简设计并保留其扩展性.首先很感谢大家的阅读,前面六章我带着大家快速入门了ASP.NET Core.ASP.NET Core的启动过程源码解析及配置文件的加载过程源码解 ...

随机推荐

  1. Dwz/Jquery--使用Ajax提交表单时调用表单设置的校验

    案例 今天有一个需求就是点击按钮时,使用ajax方式提交表单,而且不是直接用form表单下的submit按钮提交,表单中用的校验是dwz 自带的校验方式,表单模板如下: <li><d ...

  2. mysql+jpa简单实现步骤

    首先,我们用的开发工具是IDEA,数据库是mysql,以下是步骤: 1.我们需要在pom.xml加入mysql和jpa的依赖 <!-- 依赖的数据库,使用jpa --> <depen ...

  3. nginx的进程结构实例演示

    nginx父子进程之间是使用信号进行管理的. nginx -s reload 会使之前的nginx子进程退出,生成新的nginx子进程 或者kill -SIGHUP 9170 kill -SIGTER ...

  4. 7天用Go动手写/从零实现Web框架Gee

    设计一个框架 大部分时候,我们需要实现一个 Web 应用,第一反应是应该使用哪个框架.不同的框架设计理念和提供的功能有很大的差别.比如 Python 语言的 django和flask,前者大而全,后者 ...

  5. Dubbox 环境搭建-新(Windows下)

    分布式服务框架 dubbo/dubbox 入门示例 dubbo是一个分布式的服务架构,可直接用于生产环境作为SOA服务框架. 官网首页:http://dubbo.io/ ,官方用户指南 http:// ...

  6. 小白的springboot之路(十五)、mybatis的PageHelper分页插件使用

    0.前言 用mybatis,那么分页必不可少,基本都是用PageHelper这个分页插件,好用方便: 1.实现 1.1.添加依赖: <!-- 3.集成 mybatis pagehelper--& ...

  7. linux 学习操作小计

    屌丝最近在接触lamp开发 把工作中遇到的 问题和 一些常用的操作记下来.以便以后去翻阅 (1)linux下备份mysql数据库方法 #mysqldump -u root -p dbname > ...

  8. Apache开启GZIP 压缩网页

    首先我们先了解Apache Gzip的相关资料. 一.gzip介绍 Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台.当应用Gzip压缩到一个纯文本文件时,效果是非常明显的 ...

  9. pytorch之 RNN 参数解释

    上次通过pytorch实现了RNN模型,简易的完成了使用RNN完成mnist的手写数字识别,但是里面的参数有点不了解,所以对问题进行总结归纳来解决. 总述:第一次看到这个函数时,脑袋有点懵,总结了下总 ...

  10. 数据算法 --hadoop/spark数据处理技巧 --(5.移动平均 6. 数据挖掘之购物篮分析MBA)

    五.移动平均 多个连续周期的时间序列数据平均值(按相同时间间隔得到的观察值,如每小时一次或每天一次)称为移动平均.之所以称之为移动,是因为随着新的时间序列数据的到来,要不断重新计算这个平均值,由于会删 ...