# Android记账本
**Repository Path**: huyup/androidjizhangben
## Basic Information
- **Project Name**: Android记账本
- **Description**: 大三Android课课程设计
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 20
- **Forks**: 9
- **Created**: 2017-04-30
- **Last Updated**: 2024-12-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#Android记账本
1 应用背景与功能需求
1.1应用背景
随着经济社会的高速发展,人们的生活水平也在飞速的提高,同时人们的收入和消费水平也得到了很大的提升,也从过去的单一输入和消费变成了今天的消费模式,但很多人不懂得记录自己的消费情况从而进行合理的理财,这给我们的生活带来了一些负面的影响,所以我决定开发一款记账本。
自2007年谷歌公司的Android系统产生以来,在这几年飞速的发展中,安卓(Android)首次超过Windows成为第一大操作系统。在2017年3月期间,从Statcounter的网络活跃度看,谷歌的安卓系统占比37.93%,超过了微软的Windows系统的37.91%。选择设计基于Android平台的软件,毫无疑问能受到更多的用户和各大厂商的青睐。
1.2功能需求分析
用户安全:用户必须使用自己设置的手势密码才能使用该APP的所有功能,所以用户第一次使用应设置手势密码,之后可以在主页修改自己之前设置的手势密码;
用户记账:用户根据日期记录某天收支情况;
查询记录:在主页可以显示当天的全部收支记录,进入搜索页面显示全部的收支记录,用户也可以根据日期查询某天的所有收支记录;
更新记录:用户可以点击主页或者查询页面的收支记录进行修改;
删除记录:用户可以左滑主页或者查询页面的收支记录进行删除;
消费饼图:根据用户当前月的消费数据生成饼图,用户一眼便可以知道当前月各类型的消费记录所占的比例,然后做出适当的理财计划。
2 设计思路
用户下载该APP并成功安装之后,设置并输入手势密码进入到主页。用户点击主页的加号进入到增加消费数据的页面,用户可以选择消费的分类和类型并输入金额,点击保存,跳转到主页并提示新增数据成功,用户也可以点击增加页面的右下角的加号进行增加消费的类型。在主页可以显示本月的总收支数据,还有当天的消费记录。用户化可以左滑删除主页或查询页面的消费记录。用户可以点击主页的放大镜图标进入到根据日期查询数据的页面,没选择日期之前显示所有的消费记录。用户可以点击主页或查询页面的消费记录进入到更新数据的页面进行更新数据。用户点击主页左上角的图表按钮跳转到本月的支出情况的饼图,用户一眼便可以知道当前月各类型的消费记录所占的比例,然后做出适当的理财计划。
3 布局设计






4 文件读写类的设计与实现
4.1文件读写类的设计
使用Android平台给我们提供了一个轻量级的存储类(SharedPreferences)来保存用户设置的手势密码。用户每次使用该APP时输入的手势密码与该存储类中的密码一致时才可访问该APP。
4.2文件读写类的实现

5 其他相关工作
为了方便开发,提高代码的可读性,我使用了平时在学习中记录的一些牛人写的Android开发相关的插件。数据库的插件使用了LitePal,图表使用了MPAndroidChart,使用butterknife插件进行View注入。
6 系统测试与部署
6.1 硬件环境
一台PC机
6.2 软件环境
Windows7
6.3 开发工具
夜神模拟器、Android Studio
6.4 测试用例
```
序号 测试目的 测试输入 预期测试结果
1 设置两次不同的手势密码是否跳转到主页 输入两次不同的手势密码 刷新当前activity,提示两次密码不一致
2 不输入金额或输入字符串是否保存数据 输入消费金额,选择消费类型、时间 Toast提示金额数据不合法
3 某项支出类型占比很大,某项占比很小,饼图是否显示错乱 输入金额为100000000选择消费类型为购物,保存。输入金额为1选择消费类型为其他,保存。 金额为1的不显示
4 左滑是否能删除数据 在主页向左滑动某条消费记录点击删除 记录消失
5 是否可以重复添加消费类型 在增加页面点击右下角的加号分类选择支出,类型选择购物点击保存 Toast提示该类型已存在
```
7 总结
在该APP的设计与实现中,我学习和理解了平时记录的一些有关Android开发的插件,掌握了Android页面布局的一些标签的用法,了解了安卓的四大组件的用法和生命周期。但这次APP的开发由于个人水平及时间有限等原因,只能完成一些基本的功能,好多设想并未完全实现,这不能不说是个遗憾,我后期将会继续努力的学Android方面的知识,提高自身的编程水平,设计和实现出一款优秀的APP。
8 参考文献
[1] 郭霖. Android数据库高手秘籍.
[2] Philipp Jahoda. MPAndroidChart.
[3] Jake Wharton. butterknife.
[4] ZhengJiaoCsdn. Android手势密码.