这是一个个人记账工具,能够方便人们进行个人账户收支使用情况进行管理分析。
本软件包含的功能有:
通过软件“记一笔”按钮可以进入记录页面,页面包括了收入和支出两个部分,用户根据自己当前使用情况进行选择记录收入还是支出。
选择收入还是支出时需要选择当前记录的事件类型,选择完毕则输入具体记录的金额。
在用户想要对自己的记录数据进行复盘,数据分析时,我们提供一个“收入情况图标分析”的功能,可以进行百分比的分析,让用户能够直观的查看自己使用数据的情况。账单详情页提供了支出和收入两部分数据的图表,包含了用户数据使用的时间,事件类型,收入支出具体金额。
用户可以根据历史账单查看自己过去几个月个人消费的具体情况,可以选择具体的时间,查看具体的事件,具体的金额,具体时间,事件类型。
用户可以根据时间,事件,事件类型搜素自己的开支情况,索引记录将以列表的形式展现。
用户可以清除所有使用记录
首页,界面简约美观,滑动流畅,主要体现出整体的功能架构,分为5个要素,账单记录,搜索账单,设置,账单详情,关于。
首页可视化的功能为:
具体数据情况一栏可以通过点击眼睛实现数据的隐藏。
点击头布局眼睛时,如果原来是明文,就加密,如果是密文,就显示出来
private void toggleShow() {
if (isShow) { //明文====》密文
PasswordTransformationMethod passwordMethod = PasswordTransformationMethod.getInstance();
topInTv.setTransformationMethod(passwordMethod); //设置隐藏
topOutTv.setTransformationMethod(passwordMethod); //设置隐藏
topbudgetTv.setTransformationMethod(passwordMethod); //设置隐藏
topShowIv.setImageResource(R.mipmap.ih_hide);
isShow = false; //设置标志位为隐藏状态
}else{ //密文---》明文
HideReturnsTransformationMethod hideMethod = HideReturnsTransformationMethod.getInstance();
topInTv.setTransformationMethod(hideMethod); //设置隐藏
topOutTv.setTransformationMethod(hideMethod); //设置隐藏
topbudgetTv.setTransformationMethod(hideMethod); //设置隐藏
topShowIv.setImageResource(R.mipmap.ih_show);
isShow = true; //设置标志位为隐藏状态
}
}
通过首页点击”记一笔“数据之后,页面跳转到账单详情,用户根据自己当前使用情况进行选择记录收入还是支出。
选择收入还是支出时需要选择当前记录的事件类型,选择完毕则输入具体记录的金额。
用户对自己的记录数据进行复盘,数据分析时,我们提供一个“收入情况图标分析”的功能,可以进行百分比的分析,让用户能够直观的查看自己使用数据的情况。账单详情页提供了支出和收入两部分数据的图表,包含了用户数据使用的时间,事件类型,收入支出具体金额。
用户可以根据时间,事件,事件类型搜素自己的开支情况,索引记录将以列表的形式展现。具体的搜索是通过事件id进行请求,调用android系统数据库遍历数据。
数据库的调用:
/* 表示全局应用的类*/
public class UniteApp extends Application {
@Override
public void onCreate() {
super.onCreate();
// 初始化数据库
DBManager.initDB(getApplicationContext());
}
}
搜索数据时,首先进行一次判空操作,不为空则进行搜索。
具体的数据源对象如下:
ListView searchLv
EditText searchEt
TextView emptyTv
ListmDatas
AccountAdapter adapter
具体的搜索执行事件如下:
public void onClick(View view) {
switch (view.getId()) {
case R.id.search_iv_back:
finish();
break;
case R.id.search_iv_sh: //执行搜索的操作
String msg = searchEt.getText().toString().trim();
// 判断输入内容是否为空,如果为空,就提示不能搜索
if (TextUtils.isEmpty(msg)) {
Toast.makeText(this,"输入内容不能为空!",Toast.LENGTH_SHORT).show();
return;
}
//开始搜索
List<AccountBean> list = DBManager.getAccountListByRemarkFromAccounttb(msg);
mDatas.clear();
mDatas.addAll(list);
adapter.notifyDataSetChanged();
break;
}
}
账单详情页提供了支出和收入两部分数据的图表,包含了用户数据使用的时间,事件类型,收入支出具体金额。用户可以根据历史账单查看自己过去几个月个人消费的具体情况,可以选择具体的时间,查看具体的事件,具体的金额,具体时间,事件类型。
获取指定年月份记录代码如下:
private void loadData(int year,int month) {
List<AccountBean> list = DBManager.getAccountListOneMonthFromAccounttb(year, month);
mDatas.clear();
mDatas.addAll(list);
adapter.notifyDataSetChanged();
}
该系统是一个记账系统,主要是通过用户记录自己的数据达到分析数据的目的。用户使用该系统是强调“记录”的作用。本系统的扩展目的是------“合理”。在系统中设计开发一个推荐系统模块,通过用户的使用数据,系统会给出个性化推荐方案,主要是推荐并培养用户如何保持一个良好的记账习惯。
可以通过训练神经网络模型,基于深度学习推荐个性化服务来扩展该系统。这个原理可以参考目前的电子商务网站比如淘宝,京东等,它们可以通过分析用户的使用习惯推荐给用户可能需要的商品。那么我们也可以通过此原理去扩展 该系统,该系统目的是培养用户如何保持一个良好的记账习惯,能够给用户一个合理化的使用建议。分析用户在哪些方面花钱较多较少,分析是否具有合理支出的可行性方案。
这一学期的课就那么快结束了,真的挺快的。
一开始接触 Android 是从自己的手机开始的,觉得它很酷,是我喜欢的风格,然后我就通过了一些网络渠道去了解 Android 。在选课的时候发现有这个课程,于是我就报名了。刚开始接触 Android 开发时感觉到它很有意思,在界面开发上和 web 也可以形成了相通的架构,更加方便,视觉上也是非常的酷。Android 作为新兴的手机操作系统,适应潮流的发展,在一定程度上迎合了现代人们最求效率和最求完美的心态,再加上的它的先进之处,所以 Android 的发展很快, Android 的应用资源也越来越广泛,现在的 Android 正在快速形成一个只能手机王国,给人们提供日常娱乐和办公的平台,无论在哪些方面,Android 的表现总是能够让人满意, 它正在快速地占领手机终端,未来的智能手机领域将是 Android 的天下,越来越多的人选用 Android 平台的手机。如果说追求苹果是因为苹果的高端与美感,那么追求 Android 则是因为它的先进性开源性,也正是因为 Android 这些吸引人们瞩目的特点,才会有越来越多的人对 Android 充满激情, Android 的发展也才能这样的迅猛,所以在这里要先谢谢 Goolge ,以及那些充满激情的开发者们。首先在界面上,我们同样可以通过不同布局进行设计非常酷的界面,这些界面可以通过 include 进行引入,我们可以通过一些公用的方法写个 BaseActivity 这个基类,通过继承方式比较不 错 的 实 现 了 Activity 的 界 面 , 因 为 这 样 你 可 以 Header( 头 部 ) 和Footer( 尾部 ) 进行处理一些触发事件或者特效等。布局模式以相对模式为主,线线布局模式可以在比较简单的 include 进行完成,最重要的一点就是:我们可以自己通过重写方法或者通过实现 View 或者 Layout 等类进行扩充项目需要的布局 ( 或者控件 ) , 在学习界面中, Android 为我们提供了很好的类似反射机制,通过 Layout 文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的界面也可以通过处理嵌入到指定的界面,同样可以通过 java 代码直接创建 View 进行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间的 跳转Intent 管理,通过 Bundle 对数据在界面之间进行传输。其次在手机交互式通信服务中,学习了 Android 手机之间进行短信发送、广播、对广播的监听、服务等。