Android 移动记账管理系统
资源链接:Android程序记账管理系统(实现日常的记账本功能)-Android文档类资源-CSDN下载目前随着经济的不断发展,各种商品和新型的购物方式,不断的冲击着人们的生活方式和消费方式人们的消费水平更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/qq_47112287/85841032
一、需求分析
1.系统背景
目前随着经济的不断发展,各种商品和新型的购物方式,不断的冲击着人们的生活方式和消费方式人们的消费水平明显提高,年轻人对新型消费有着较高的热情,但大多数人花钱没有计划,不会理财。记账是理财的第一步,也是最基本的一种方式。移动记账系统,能随时随地的记账、分析账目记录,并能对消费情况做一个有效的控制,达到理财的目的。随着个人开支不断的变化,对钱的使用也很随便,每到月底都会觉得钱不够花,为了有效减少不必要的开支,作到理财的规划和合理性,我们应该掌握些必要的记账习惯。
本系统主要用于个人的记账,总体任务是实现个人账目的有序化,主要任务是用计算机对个人日常开支进行增、删、改、查;
2.系统功能结构(
(1)功能结构图
(2)模块说明
登录模块:用户在注册成功之后,将数据写入到数据库中,在登录的时候检验,登录信息的正确性,信息正确,则登录成功;
个人收支信息管理模块:用户在登录之后,可以实现添加每日收支记录、修改每日收支记录、删除每日收支记录以及查询每日收支记录,可以有效的实现每日收支记录的增删改查功能;
收支情况汇总模块:可以根据用户输入的相关的收支记录情况,进行汇总,统计用户的支出和收入情况,以此来达到合理理财的目的。
3.系统功能简介
本系统的功能主要是实现收支情况信息的记录和计算:
- 账单的录入添加功能,用户可以根据自己的收入支出的实际情况,增加相关的账单收记录,注明钱的用途和来源。
- 账单的修改功能,用户可以根据自己实际的金钱支出情况,对于以往的收支记录进行相关的修改;
- 账单的统计功能:软件可以根据用户的收支情况进行统计,统计用户的总收入和总开支情况,方便用户进行合理的理财规划。
- 登录注册功能:用户必须登录过后才可以进入系统中,一定程度上保护了用户数据的安全性;
二、概念模型设计
1.基本要素(符号介绍说明)
符号元素 |
说明 |
实体是客观存在的事物。例如用户、商品、订单、供应商等。数据库的表名就可以做一个实体对象。一个系统是由很多个实体对象构成的,然后它们之间存在一定的关系和属性。 |
|
用户实体拥有属性【id、姓名、年龄、电话、身份证号】、商品实体拥有属性【id、商品名称、商品类型、商品价格、商品图片、商品描述、供应商名称】、订单实体拥有属性【id、订单编号、用户名称、商品名称、下单日期】、供应商实体拥有属性【id、名称、地址、联系电话】。 |
|
例如用户和商品应该购买关系(一个用户购买多件商品)、订单与商品应该是包含关系(一个订单中包含多件商品) |
2.ER图
三、逻辑模型设计
1.ER模型向关系模型转换规则
ER模型向关系模型的转换,实际上就是把ER图转换成关系模式的集合。
规则1(实体类型的转换):将每个实体类型转换成一个关系模式/表,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。
规则2(二元联系类型的转换)主键区别
实体间联系是1:1。
实体间联系是1:N。
实体间联系是M:N。
2.转换后的关系模型
四、物理设计
1.创建数据库的SQL语句或截图
private static final String DB_name="keshe";
private static final String account ="jizhangben";
private static final String DB_NAME = "user.db";private static final String TABLE_NAME1 = "userTable";
2.创建所有表的SQL语句或截图
private static final String CREATE_TABLE1 = "create table if not exists userTable(_id integer primary key autoincrement,name text,passwd text)";
private SQLiteDatabase db;
private Object userTable;
private static final String CREATE_TABLE1 = "create table jizhangben(_id integer primary key autoincrement,时间 varchar(20),收入 float,支出 float,备注 varchar(20))";
五、相关界面截图
六、程序关键代码
2.实现相关功能的关键程序语句
查询功能:
final database dbHelper = new database(getApplicationContext());Cursor c = dbHelper.queryZhangdan();
删除功能:
dbHelper.del(tablename, (int) temp);getRelationFromDB();
修改功能:
dbHelperRecord.updateZhangdan(id,valueRecord);
增加功能:
dbHelperRecord.insertZhangdan(valueRecord);
3.具体实现代码
查询功能/删除功能:
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_chakan);listView=findViewById(R.id.listview);in=findViewById(R.id.shouru);out=findViewById(R.id.zhichu);yue=findViewById(R.id.yue);getRelationFromDB();listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, final long id) {final long temp=id;final String id1= String.valueOf(id);AlertDialog.Builder 对话框=new AlertDialog.Builder(chakanActivity.this);对话框.setTitle("删除确认or修改确认");//为对话框设置标题对话框.setIcon(R.drawable.school);//为对话框设置图标对话框.setMessage("您确认删除此条记录吗还是修改这条记录?");对话框.setPositiveButton("删除", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {dbHelper.del(tablename, (int) temp);getRelationFromDB();Toast.makeText(chakanActivity.this, "记录删除成功!", Toast.LENGTH_SHORT).show();}});对话框.setNegativeButton("修改", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {Intent intent=new Intent();System.out.println(temp);intent.setClass(chakanActivity.this,edit.class);intent.putExtra("id",id1);startActivity(intent);}});对话框.setNeutralButton("取消",null);对话框.create().show();}});}private void getRelationFromDB() {// TODO Auto-generated method stubfinal database dbHelper = new database(getApplicationContext());Cursor c = dbHelper.queryZhangdan();String[] 数据 = new String[]{"_id","时间","收入","支出","备注"};int[] to = new int[]{R.id.id, R.id.date,R.id.in,R.id.out,R.id.note};SimpleCursorAdapter 数据适配器 = new SimpleCursorAdapter(this, R.layout.style, c, 数据, to);listView.setAdapter(数据适配器);while (c.moveToNext()){shouru=shouru+Float.parseFloat(c.getString(c.getColumnIndex("收入")));zhichu=zhichu+Float.parseFloat(c.getString(c.getColumnIndex("支出")));}in.setText(""+shouru);out.setText(""+zhichu);yue.setText(""+(shouru-zhichu));dbHelper.close();
修改功能/增加功能:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add);
addmoney=findViewById(R.id.金额);
adddate=findViewById(R.id.日期);
addnote=findViewById(R.id.备注);
addstyle=findViewById(R.id.类型);
addrecord =findViewById(R.id.添加按钮);
addrecord.setOnClickListener(new View.OnClickListener() {//为按钮设置监听
@Override
public void onClick(View v) {
if(addmoney.getText().toString().equals("")||adddate.getText().toString().equals("")||addnote.getText().toString().equals("")){
Toast.makeText(addActivity.this, "请将信息填写完整", Toast.LENGTH_SHORT).show();
}else{
if (adddate.getText().toString().length()!=4){
Toast.makeText(addActivity.this, "请检查您的日期是否正确,格式为0225", Toast.LENGTH_SHORT).show();
}else {
money = Float.parseFloat(addmoney.getText().toString());
database dbHelperRecord = new database(getApplicationContext());
final ContentValues valueRecord=new ContentValues();//存储值
if (result.equals("支出")){
valueRecord.put("支出",money);
valueRecord.put("收入",0);
}else{
valueRecord.put("支出",0);
valueRecord.put("收入",money);
}
valueRecord.put("备注",addnote.getText().toString());
valueRecord.put("时间",adddate.getText().toString());
dbHelperRecord.insertZhangdan(valueRecord);
Toast.makeText(addActivity.this, "记录添加成功", Toast.LENGTH_SHORT).show();
Intent intent=new Intent();
intent.setClass(addActivity.this,Main2Activity.class);
startActivity(intent);
}
}
}
});
Android 移动记账管理系统相关推荐
- Android记账系统可行性分析,毕业设计论文-基于安卓的大学生记账管理系统的设计与实现.doc...
毕业设计论文-基于安卓的大学生记账管理系统的设计与实现 毕 业 设 计 中文题目基于安卓的大学生记账管理系统的设计与Design and Implementation of theCollege St ...
- android记账管理系统财务管理系统(个人理财系统 个人财务管理系统-毕业设计安卓记账)
android记账管理系统财务管理系统(个人理财系统 个人财务管理系统-毕业设计安卓记账)
- 基于微服务的个人记账管理系统的设计与实现
摘要 随着互联网技术的发展,记账系统已经成为每个人生活的一部分,由于其独特的便捷性和速度,早已被接受为在线应用的新的主要表现形式.目前流行的记账系统不仅没有建立起来,而且对企业主来说也是无利可图的,在 ...
- php记一笔在线记账管理系统源码
简介: php记一笔在线记账管理系统源码,图形化界面操作更简单,非常适合家庭理财.记账,系统界面简洁优美,操作直观简单,非常容易上手. 源码安装教程: 1.上传到网站根目录 2.用phpMyadmin ...
- 基于Android的家庭财务管理流程图,SYL_Android_FamilyFinaceSystem 双鱼林基于安卓Android家庭财务管理系统毕业课程设计源码 - 下载 - 搜珍网...
464双鱼林基于安卓Android家庭财务管理系统\安卓客户端\.classpath ........................................\..........\.ic_l ...
- 基于Android的人事管理系统 开发与设计
基于Android的人事管理系统开发与设计 摘要: 由于手机app的迅速发展与广泛应用,基于android开发的手机软件被日益广泛的推广,并且占有市场较大的比重.本文为基于android开发的中小型企 ...
- 基于android的记账软件,基于Android的记账软件的设计与实现
摘要: 随着经济社会的发展,人们的资金流动更加频繁,对记账的需求也逐渐提高.目前移动设备已经普及,移动记账以其随时随地记账,高效统计的特点,受到了广大记账理财人士的青睐.本文通过对国内外手机记账软件发 ...
- android简单记账源码,Android+个人记账程序源码.rar(入门级)
[实例简介]Android 个人记账程序源码,入门级源码,适合新手... [实例截图] [核心代码] package com.cola.ui; import java.util.Calendar; i ...
- c语言记账,C语言会计记账管理系统.doc
C语言会计记账管理系统.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档 ...
最新文章
- SAP MM 初阶之Movement Reason
- 阻止应用继承的NTFS权限
- MyBatis系列之浅谈SQL执行流程分析
- C++---static关键字
- python语言单词接龙_[蓝桥杯][算法训练VIP]单词接龙 (C语言代码)
- linux 抓包文件 导出,Fiddler抓包13-fiddler 抓包导出 curl 命令行
- 用SecureCRSecurePortable查看动态日志
- Ubuntu-安装-有道词典
- mid制作乐谱_作品1:MIDI彩虹钢琴(将简谱或五线谱制作成mid)
- 两向量叉乘的计算公式_向量的数量积和向量积怎么算?
- 金融银行软件测试超大型攻略,最受欢迎的金融银行大揭秘附面试题
- java雪崩_java-雪崩效应及解决办法
- 深入分析 synchronized 的实现原理
- 160_zigbee协调器_一种判断数据包有没有拿对的方法【掐头去尾发,拿头指针、尾指针去判断】
- hi3516v300gpio驱动编译遇到的问题
- 主题:windows xp 系统CMD命令大全(一)
- xinetd.d详解
- IDEA —— Debug调试模式
- c语言功率算电量,电功率你理解透了吗?怎么算功率因数?1度电是多少?
- 2022年全国资质认证补贴政策汇总详情!
热门文章
- 计算机进制转换界面,进制转换计算器
- Chrome浏览器安装插件提示“无法从该网站添加应用,拓展程序或脚本”解决办法
- 【前辈经验之谈】发顶会论文,怎么就那么难?
- 别以为“质量门”是惠普的专利!
- 计算机考上研究生暑假去哪里实习_暑假计算机实习报告
- c#写的百度知道辅助发贴机
- HTML5期末大作业:计算机社团设计--可随意更改名称,各个社团协会
- 【调剂】浙江理工大学2021年硕士研究生招生调剂公告
- ros2 foxy 设置publisher与subscription的qos
- catv系统主要有哪三部分组成_CATV系统组成包括( )_学小易找答案