| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android 移动记账管理系统 -> 正文阅读 |
|
[移动开发]Android 移动记账管理系统 |
一、需求分析 ?1.系统背景 ?????? 目前随着经济的不断发展,各种商品和新型的购物方式,不断的冲击着人们的生活方式和消费方式人们的消费水平明显提高,年轻人对新型消费有着较高的热情,但大多数人花钱没有计划,不会理财。记账是理财的第一步,也是最基本的一种方式。移动记账系统,能随时随地的记账、分析账目记录,并能对消费情况做一个有效的控制,达到理财的目的。随着个人开支不断的变化,对钱的使用也很随便,每到月底都会觉得钱不够花,为了有效减少不必要的开支,作到理财的规划和合理性,我们应该掌握些必要的记账习惯。 ?2.系统功能结构( (1)功能结构图 (2)模块说明 登录模块:用户在注册成功之后,将数据写入到数据库中,在登录的时候检验,登录信息的正确性,信息正确,则登录成功; 个人收支信息管理模块:用户在登录之后,可以实现添加每日收支记录、修改每日收支记录、删除每日收支记录以及查询每日收支记录,可以有效的实现每日收支记录的增删改查功能; 收支情况汇总模块:可以根据用户输入的相关的收支记录情况,进行汇总,统计用户的支出和收入情况,以此来达到合理理财的目的。 3.系统功能简介 本系统的功能主要是实现收支情况信息的记录和计算:
二、概念模型设计 1.基本要素(符号介绍说明)
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 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 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() {
??????? @Override
??????? public 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() {
??????????????? @Override
??????????????? public void onClick(DialogInterface dialogInterface, int i) {
??????????????????? dbHelper.del(tablename, (int) temp);
??????????????????? getRelationFromDB();
??????????????????? Toast.makeText(chakanActivity.this, "记录删除成功!", Toast.LENGTH_SHORT).show();
??????????????? }
??????????? });
??????????? 对话框.setNegativeButton("修改", new DialogInterface.OnClickListener() {
??????????????? @Override
?????? ?????????public 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 stub
??? final 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) { ? ? ? |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 2:24:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |