个人理财小助手智能终端系统及应用开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

智能终端系统及应用开发课程设计报告题目:________________________学号:______________班级:______________姓名:______________指导老师:_______________一、目的与要求1.掌握SQLite数据库及其使用。2.熟练掌握布局及常用控件Button、ListView、EditText、TextView等。3.使用SQLite数据库实现增加、删除、修改;4.使用ListView进行显示;5.增加私密性,验证成功才能进行收支管理。二、APP结构设计个人理财小助手主要为用户提供5个主要模块,包括:登录模块、收入管理模块、支出管理模块、便签管理模块、系统设置模块。对日常的开支进行随时记录,存储到本机的SQLite数据库。三、数据库设计本系统是一个理财的管理系统,主要包括收入、支出的管理,所以设计数据库表的时候,设计了密码表、收入表、支出表、便签信息表用来存储对应的信息。密码信息表:用于用户登录时进行密码核对。表1:密码信息表字段名数据类型是否主键描述PasswordVarchar(20)否用户密码支出信息表:用于记录支出信息,主要属性包括:id(编号),money(金额),time(支出时间),type(支出类别),address(支出地点),mark(备注)表2:支出信息表字段名数据类型是否主键描述idinteger是编号moneydecimal否支出金额timeVarchar(10)否支出时间typeVarchar(10)否支出类别addressVarchar(100)否支出地点markVarchar(200)否备注收入信息表:用于记录收入信息,主要属性包括:id(编号),money(收入金额),time(收入时间),type(收入类别),hanlder(付款方),mark(备注)。表3:收入信息表字段名数据类型是否主键描述idinteger是编号moneydecimal否收入金额timeVarchar(10)否收入时间typeVarchar(10)否收入类别handlerVarchar(100)否付款方markVarchar(200)否备注便签信息表:用于所有提醒便签信息:主要属性有,id(编号),Flag(便签信息)表4:便签信息表字段名数据类型是否主键描述idinteger是编号FlagVarchar(20)否便签内容四、编码规划和代码的文件组成系统架构图在com.example.licai1.DAO中存放DAO公告类,负责一切对数据库的操作,包括对数据的增加,修改,删除,保存等,其中DBOpenHelper负责创建数据库和数据库表。在com.example.licai1.model中存放数据模型公告类,对应着数据库中不同的数据库表,负责访问数据库的DAO类和程序中各模块,组件的使用。对数据库表中字段封装,主要用来存储数据。五、分模块详细设计与实现1:用户登录界面:用于验证用户是否合法,首次登录不需要密码,在系统设置中设置密码后,登录需输入密码。用于保护用户隐私。若密码错误,则显示“请输入正确密码”btnlogin.setOnClickListener(newOnClickListener(){//为登录按钮设置监听事件@SuppressLint(NewApi)@OverridepublicvoidonClick(Viewarg0){Intentintent=newIntent(Login.this,MainActivity.class);//创建Intent对象PwdDAOpwdDAO=newPwdDAO(Login.this);//创建PwdDAO对象//判断是否有密码及是否输入了密码if((pwdDAO.getCount()==0||pwdDAO.find().getPassword().isEmpty())&&txtlogin.getText().toString().isEmpty()){startActivity(intent);//启动主Activity}else{//判断输入的密码是否与数据库中的密码一致if(pwdDAO.find().getPassword().equals(txtlogin.getText().toString())){startActivity(intent);//启动主Activity}else{//弹出信息提示Toast.makeText(Login.this,请输入正确的密码!,Toast.LENGTH_SHORT).show();txtlogin.setText();//清空密码文本框}}}});2:主界面:用户登入后进入主界面,主界面包括软件的所有功能图标:新增收入,新增支出,我的收入,我的支出,收支便签,数据管理,系统设置及退出。用户可根据需求选择对应图标。数据传输:在于各个功能模块交互时,使用Intent传输用户的id以便保存、读取相关的用户信息。跳转部分代码:publicvoidonItemClick(AdapterView?arg0,Viewarg1,intarg2,longarg3){Intentintent=null;//创建Intent对象switch(arg2){//界面跳转case0:intent=newIntent(MainActivity.this,AddOutaccount.class);//使用AddOutaccount窗口初始化IntentstartActivity(intent);//打开AddOutaccountbreak;case1:intent=newIntent(MainActivity.this,Addinaccount.class);//使用AddInaccount窗口初始化IntentstartActivity(intent);//打开AddInaccountbreak;case2:intent=newIntent(MainActivity.this,Outaccountinfo.class);//使用Outaccountinfo窗口初始化IntentstartActivity(intent);//打开Outaccountinfobreak;case3:intent=newIntent(MainActivity.this,Inaccountinfo.class);//使用Inaccountinfo窗口初始化IntentstartActivity(intent);//打开Inaccountinfobreak;case4:intent=newIntent(MainActivity.this,Showinfo.class);//使用Showinfo窗口初始化IntentstartActivity(intent);//打开Showinfobreak;case5:intent=newIntent(MainActivity.this,Sysset.class);//使用Sysset窗口初始化IntentstartActivity(intent);//打开Syssetbreak;case6:intent=newIntent(MainActivity.this,Accountflag.class);//使用Accountflag窗口初始化IntentstartActivity(intent);//打开Accountflagbreak;case7:finish();//关闭当前Activity}}3:新增支出界面:此界面的功能是添加用户支出的信息,用户可添加的信息包括金额、时间、类别、地点、备注。其中时间可以读取系统当前时间,更加方便。类别提供购物、正餐、零食水果、药效、外卖、打的、其他一些选项。这一界面总体使用LinearLayout布局,时间,金额等及其输入框使用RelativeLayout布局。类别对应的下拉框使用Spinner。保存按钮对应代码:若金额不为空,点击保存按钮则保存数据,显示“【新增支出】数据添加成功”,若金额为空,则提示:“请输入支出金额”。btnSaveButton.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewarg0){StringstrMoney=txtMoney.getText().toString();if(!strMoney.isEmpty()){//判断金额不为空//创建OutaccountDAO对象OutaccountDAOoutaccountDAO=newOutaccountDAO(AddOutaccount.this);Tb_outaccounttb_outaccount=newTb_outaccount(outaccountDAO.getMaxId()+1,Double.parseDouble(strMoney),txtTime.getText().toString(),spType.getSelectedItem().toString(),txtAddress.getText().toString(),txtMark.getText().toString());outaccountDAO.add(tb_outaccount);Toast.makeText(AddOutaccount.this,[新增支出]数据添加成功!,Toast.LENGTH_SHORT).show();finish();}else{Toast.makeText(AddOutaccount.this,请输入支出金额!,Toast.LENGTH_SHORT).show();}}});取消按钮对应代码:讲数据全部重置为零后退出。btnCancelButton.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewarg0){txtMoney.setText();//设置金额文本框为空txtMoney.setHint(0.00);//为金额文本框设置提示txtTime.setText();//设置时间文本框为空txtMoney.setHint(2011_01_01);txtAddress.setText();txtMark.setText();spType.setSelection(0);finish();}});4:新增收入界面:此界面的功能是添加用户收入的信息,用户可添加的信息包括金额、时间、类别、付款方、备注。其中时间可以读取系统当前时间。类别提供工资、兼职、奖金、礼金、销售款、报销款等一些选项。这一界面总体使用LinearLayout布局,时间,金额等及其输入框使用RelativeLayout布局。类别对应的下拉框使用Spinner。与新增支出界别类同5:我的支出界面:用于用户查询支出信息,在新增支出界面添加信息后,在此界面就可以进行显示,同时也可点击进入进行修改删除操作。这一界面主要是使用ListView控件。protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.outaccountinfo);//设置布局文件lvinfo=(ListView)findViewById(R.id.lvoutaccountinfo);//获取布局文件中的ListView组件ShowInfo(R.id.lvoutaccountinfo);//调用自定义方法显示支出信息lvinfo.setOnItemClickListener(newOnItemClickListener()//为ListView添加项单击事件{//覆写onItemClick方法@OverridepublicvoidonItemClick(AdapterVie

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功