版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、智能终端系统及应用开发课程设计报告题目:学号:班级:姓名:指导老师:、目的与要求掌握SQLite数据库及其使用。熟练掌握布局及常用控件Button、ListView、EditText、TextView等。使用SQLite数据库实现增加、删除、修改;使用ListView进行显示;增加私密性,验证成功才能进行收支管理。二、APP结构设计个人理财小助手主要为用户提供5个主要模块,包括:登录模块、收入管理模块、支出管理模块、便签管理模块、系统设置模块。对日常的开支进行随时记录,存储到本机的SQLite数据库。个人理财助手三、数据库设计本系统是一个理财的管理系统,主要包括收入、支出的管理,所以设计数据库
2、表的时候,设计了密码表、收入表、支出表、便签信息表用来存储对应的信息。密码信息表:用于用户登录时进行密码核对。表1:密码信息表字段名数据类型是否主键描述PasswordVarchar(20)否用户密码支出信息表:用于记录支出信息,主要属性包括:id(编号),money(金额),廿me(支出时间),type(支出类别),address(支出地点),mark(备注)表2:支出信息表字段名数据类型是否主键描述idinteger是编号moneydecimal否支出金额廿meVarchar(10)否支出时间typeVarchar(10)否支出类别addressVarchar(100)否支出地点markV
3、archar(200)否备注收入信息表:用于记录收入信息,主要属性包括:id(编号),money(收入金额),廿口。(收入时间),type(收入类别),hanlder(付款方),mark备注)。表3:收入信息表字段名数据类型是否主键描述idinteger是编号moneydecimal否收入金额廿meVarchar(10)否收入时间typeVarchar(10)否收入类别handlerVarchar(100)否付款方markVarchar(200)否备注便签信息表:用于所有提醒便签信息:主要属性有,id(编号),Flag(便签信息)表4:便签信息表字段名数据类型是否主键描述idinteger是编
4、号FlagVarchar(20)否便签内容四、编码规划和代码的文件组成系统架构图+PackageExplorer滋侣fincianlJ色src丿出AO.java,paGkage-info.java-PwdDAO-.java丿田JRjava丄res丿IS?drawable-hdpi险a-jpg二bjjpgicjauncher.png氐Id-pngdrawable-ldpiG1drawable-mdpiG1drawable-xhdpi5?drawable-xxhdpi亠layout口accounttflag.xmI口activiiTy_rnain.xmIo_addinaccount.xml口add
5、outaccount.xmI口flagmanage.xmlagvitem.xml口i口日匚countinfo:KmIClinfom呂n呂ge.xmI口login.xml口main.xml口outaccountinfo.xmI口showinfo:xml口sysset.xmIAG?menu止G?valuesClaccounttype.xml口dimens.xml口strings.xml口sfcfles.xmlG?vaIues-5w6O0dpvalues-sw720dp-land&values-vllG?values-vl4gAndroidManif5tixmIic_lacm匚her.png園pro
6、gijard-projecli.txt園perties在com.example.licai1.DAO中存放DAO公告类,负责一切对数据库的操作,包括对数据的增加,修改,删除,保存等,其中DBOpenHelper负责创建数据库和数据库表。在com.example.licai1.model中存放数据模型公告类,对应着数据库中不同的数据库表,负责访问数据库的DAO类和程序中各模块,组件的使用。对数据库表中字段封装,主要用来存储数据。五、分模块详细设计与实现1:用户登录界面:用于验证用户是否合法,首次登录不需要密码,在系统设置中设置密码后,登录需输入密码。用于保护用户隐私。若密码错误,则显示“请输入正
7、确密码”登录EOutline巫请输入密码应5nest.parfiiit个人理血小助手?=?込d冈Re-IstiveLayoutAb|TextView:+id/tvLoginokButton:-hid/btnCloseokButton:-hid/btLoginEditTexti-kid/txtLoginbtnlogin.setOnClickListener(newOnClickListener()/为登录按钮设置监听事件SuppressLint(NewApi)OverridepublicvoidonClick(Viewarg0)Intentintent=newIntent(Login.this,
8、MainActivity.class);/创建Intent对象PwdDAOpwdDAO=newPwdDAO(Login.this);/创建PwdDAO对象/判断是否有密码及是否输入了密码if(pwdDAO.getCount()=0|pwdDAO.find().getPassword().isEmpty()&txtlogin.getText().toString().isEmpty()startActivity(intent);/启动主Activityelse/判断输入的密码是否与数据库中的密码一致if(pwdDAO.find().getPassword().equals(txtlogin.ge
9、tText().toString()startActivity(intent);/启动主Activityelse/弹出信息提示Toast.makeText(Login.this,请输入正确的密码!,Toast.LENGTH_SHORT).show();txtlogin.setText();/清空密码文本框);2:主界面:用户登入后进入主界面,主界面包括软件的所有功能图标:新增收入,新增支出,我的收入,我的支出,收支便签,数据管理,系统设置及退出。用户可根据需求选择对应图标。数据传输:在于各个功能模块交互时,使用Intent传输用户的id以便保存、读取相关的用户信息。技0-utlmeX?-?xm
10、lJ|Lina-arLoyoutRelativeLayout|rb|TextVisw:Etring/addo.LmageVisw:+1d/addiri丽|TextVi4-id/outmfo:i4-id/flag跳转部分代码:publicvoidonItemClick(AdapterViewarg0,Viewarg1,intarg2,longarg3)Intentintent=null;/创建Intent对象switch(arg2)/界面跳转case0:窗口初始化Intentintent=newIntent(MainActivity.this,AddOutaccount.class);/使用Ad
11、dOutaccountstartActivity(intent);/打开AddOutaccountbreak;case1:intent=newIntent(MainActivity.this,Addinaccount.class);/使用AddInaccount窗口初始化IntentstartActivity(intent);/打开AddInaccountbreak;case2:intent=newIntent(MainActivitythis,Outaccountinfo.class);/使用Outaccountinfo窗口初始化IntentstartActivity(intent);/打开
12、Outaccountinfobreak;case3:intent=newIntent(MainActivitythis,Inaccountinfo.class);/使用Inaccountinfo窗口初始化IntentstartActivity(intent);/打开Inaccountinfobreak;case4:intent=newIntent(MainActivity.this,Showinfo.class);/使用Showinfo窗口初始化IntentstartActivity(intent);/打开Showinfobreak;case5:intent=newIntent(MainAct
13、ivity.this,Sysset.class);/使用Sysset窗口初始化IntentstartActivity(intent);/打开Syssetbreak;case6:intent=newIntent(MainActivitythis,Accountflag.class);/使用Accountflag窗口初始化IntentstartActivity(intent);/打开Accountflagbreak;case7:finish。;/关闭当前Activity3:新增支出界面:此界面的功能是添加用户支出的信息,用户可添加的信息包括金额、时间、类别、地点、备注。其中时间可以读取系统当前时间
14、,更加方便。类别提供购物、正餐、零食水果、药效、外卖、打的、其他一些选项。这一界面总体使用LinearLayout布局,时间,金额等及其输入框使用RelativeLayout布局。类别对应的下拉框使用Spinner。EOutline民ZXiril!新增支出金眼50时同2017-1Z-23类别瘵直水果地点备注nPstparfait-L1八1;啦啦觸LinearLayout:4-id/itein-*:LinsarLsyout|At|TextView:聊立士JJLin&arLayout#!IR.elaaiv&Lsyout|AbTexzView:+id/tlnMoneyIEditText:+id/bd
15、JnMlonay區Tux&Viuvv;+id/tvInTimetEditText:爲+id/bctf门TinwTEditText:4-id/brtfnM3rk阳TextViews+id/tvlnrypeSpinner:+id/spInTypeEditText;十id/bd!riAclidErs叵ETextView:+id/nAddressAbTextView:+idftvlnMlarlk/LinsarLsyoutjRela&ivELayoutok;Button:+id/bcnCanceloh.Button!+id/bnSave保存按钮对应代码:若金额不为空,点击保存按钮则保存数据,显示“【新增
16、支出】数据添加成功”,若金额为空,则提示:“请输入支出金额”。btnSaveButton.setOnClickListener(newOnClickListener()OverridepublicvoidonClick(Viewarg0)StringstrMoney=txtMoney.getText().toString();if(!strMoney.isEmpty()/判断金额不为空/创建OutaccountDAO对象OutaccountDAOoutaccountDAO=newOutaccountDAO(AddOutaccount.this);Tb_outaccounttb_outaccou
17、nt=newTb_outaccount(outaccountDAO.getMaxId()+1,Double.parseDouble(strMoney),txtTime.getText().toString(),spType.getSelectedItem().toString(),txtAddress.getText().toString(),txtMark.getText().toString();outaccountDAO.add(tb_outaccount);ToastmakeText(AddOutaccountthis,新增支出数据添加成功!,Toast.LENGTH_SHORT).s
18、how();finish();elseToast.makeText(AddOutaccountthis,请输入支出金额!,ToastLENGTH_SHORT)show(););取消按钮对应代码:讲数据全部重置为零后退出。btnCancelButtonsetOnClickListener(newOnClickListener()OverridepublicvoidonClick(Viewarg0)txtMoneysetText();/设置金额文本框为空txtMoney.setHint(0.00);/为金额文本框设置提示txtTime.setText();/设置时间文本框为空txtMoneyset
19、Hint(2011_01_01);txtAddresssetText();txtMarksetText();spTypesetSelection(0);finish(););4:新增收入界面:此界面的功能是添加用户收入的信息,用户可添加的信息包括金额、时间、类别、付款方、备注。其中时间可以读取系统当前时间。类别提供工资、兼职、奖金、礼金、销售款、报销款等一些选项。这一界面总体使用LinearLayout布局,时间,金额等及其输入框使用RelativeLayout布局。类别对应的下拉框使用Spinner。与新增支出界别类同金额!+id/irvlnMairlc:11EditTe-xt;1-id/b
20、dInMairk|Ab|TerfView!0+id/IKilnType|v|Spinner;+id/spInTypc丿LinearLayout/石F-elativeLayout|cKjELitton!-kid/btnInCancel|ok|Button;-i-id/btnlnSave时间2017-12-23类别忖款方1000工贲备注哈哈皓O靳空收入新増收入5:我的支出界面:用于用户查询支出信息,在新增支出界面添加信息后在此界面就可以进行显示,同时也可点击进入进行修改删除操作。这一界面主要是使用ListView控件。OLOutline滋日w匚?=?xml|JLinearLsyout:4-idyi
21、temiMoJLinearLayout:-t-id/linearL目yciutlRelativeLayout|AbTextview:我的支口LinearLayout:4-id/linearLayout2目ListView:4-id/lvoutaccajntinfo1|外卖100.0元2017-12-222|外卖10,0元2017-12-23引零篇氷果別,。元201712-23耶观rnMparfait回1K?sSliOt*JU1B:44我的査出我的支出protectedvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstan
22、ceState);setContentView(R.layoutoutaccountinfo);/设置布局文件lvinfo=(ListView)findViewById(R.id.lvoutaccountinfo);/获取布局文件中的ListView组件ShowInfo(R.idlvoutaccountinfo);/调用自定义方法显示支出信息lvinfo.setOnItemClickListener(newOnItemClickListener()/为ListView添加项单击事件/覆写onItemClick方法OverridepublicvoidonItemClick(AdapterView
23、parent,Viewview,intposition,longid)StringstrInfo=Stringv.alueOf(TextView)view).getText();/记录支出信息Stringstrid=strInfo.substring(0,strInfo.indexO|);/从支出信息中截取支出编号IntentintentnewIntent(Outaccountinfo.this,InfoManage.class);/创建Intent对象intent.putExtrFLAG,newStringstrid,strType);/设置传递数据startActivity(intent/
24、执行Intent操作);privatevoidShowInfo(intintType)/用来根据传入的管理类型,显示相应的信息StringstrInfos=null;/定义字符串数组,用来存储支出信息ArrayAdapterarrayAdapter=null;/创建ArrayAdapter对象strType=btnoutinfo;/为strType变量赋值OutaccountDAOoutaccountinfonewOutaccountDAO(Outaccountinfo.this);/创建OutaccountDAO对象/获取所有支出信息,并存储到List泛型集合中Listlistoutinfo
25、s=outaccountinfo.getScrollData(0,int)outaccountinfo.getCount();strInfos=newStringlistoutinfos.size();/设置字符串数组的长度inti=0;/定义一个开始标识for(Tb_outaccounttb_outaccount:listoutinfos)/遍历List泛型集合/将支出相关信息组合成一个字符串,存储到字符串数组的相应位置strInfosi=tb_outaccount.getid()+|+tb_outaccount.getType()+String.valueOf(tb_outaccount.
26、getMoney()+元+tb_outaccount.getTime();i+/标识加1/使用字符串数组初始化ArrayAdapter对象arrayAdapter=newArrayAdapter(this,android.R.layout.simple_list_item_1,strInfos);lvinfo.setAdapter(arrayAdapter);/为Listview列表设置数据源6:我的收入界面:用于用户查询支出信息,在新增收入界面添加信息后,在此界面就可以进行显示,同时也可点击进入进行修改删除操作。我的收入II工资1000.07U2017-12-2321#SR1g(J元2017
27、-12-22臣Outline厲-IxmlJLinearLayout丿LinesrL目yvLit;fid/linearLayoutl丿固Rfflstive-Layout|ftb|Textview;我的收入LinearLayout:4-id/linearLayout27:收支便签界面:这个界面可以添加便签,记录支出、收入信息。相当于备忘录功能。-ISSM/aQIQI5#ID19:5J收盍便躍新增便签善娠啦善啦啦套翁善尺疋Mnstpa乎iitEOutline戏.IIII,JLinearLayout:+id/itemfl3gLinesrLayout|Ab|TextView!新培便签JLinarLayo
28、util_EditTerfi4-id/txtFkgJ匚LinesrLayoutJ|E|RelativeLayout函Button:+id/btnFlagCancel函Butto-n;+id/btnFlagSavebtnflagSaveButton.setOnClickListener(newOnClickListener()/为保存按钮设置监听事件0verridepublicvoidonClick(Viewarg0)StringstrFlag=txtFlag.getText().toString();/获取便签文本框的值if(!strFlag.isEmpty()/判断获取的值不为空FlagDA
29、OflagDAO=newFlagDAO(Accountflag.this);/创建FlagDAO对象Tb_flagtb_flag=newTb_flag(flagDAO.getMaxId()+1,strFlag);/创建Tb_flag对象flagDAO.add(tb_flag)/添加便签信息/弹出信息提示Toastm.akeText(Accountflag.this,新增便签数据添加成功!,Toast.LENGTH_SHORT).show();elseToastm.akeText(Accountflag.this,请输入便签!,Toast.LENGTH_SHORT).show(););btnfl
30、agCancelButton.setOnClickListener(newOnClickListener()/为取消按钮设置监听事件OverridepublicvoidonClick(Viewarg0)txtFlag.setText();/清空便签文本框);8:数据管理界面:主要用来管理支出、收入、便签信息。当点击支出信息、收入信息、便签信息后,就会显示对应的信息,可点击进入管理界面,对信息进行修改或删除。这一界面在顶部设三个按钮,分别显示支出信息,收入信息,便签信息。用ListView控件来显示。nfes(.parfaitieuitestparfait逼2SBB/S臼U煤由兌*4llI7T1
31、0:5453908miB:54数据官理O数据管理支出信恵收入信息便签信息盍出信息收入信息像签信息11当当当l|ZEi10000元2017-12-2321红红火火恍恍帼惚2谦职1UQ.0元2017-1Z-221|扑卖1000元2017-12-22辺外卖10.0元2C17-12-23-Outline滋0O?=?xmlLinesrLsyout:4-id/iteminfod回RelativeLayout函|Button:4-id/blnoutinfookButton:+id/blninin-fookButton;+id/blnflaginfo丿匚LinearLayout!4-id/linearLayo
32、ut2ListView:4-id/lvinfo別零食水果50,U元2017-12-23斗I购物50.0元2017-12-23btnoutinfo.setOnClickListener(newOnClickListener()/为支出信息按钮设置监听事件OverridepublicvoidonClick(Viewarg0)showInfo(R.ibtnoutinfo);/显示支出信息);btnininfo.setOnClickListener(newOnClickListener()/为收入信息按钮设置监听事件OverridepublicvoidonClick(Viewarg0)showInfo(R.ibtnininfo);/显示收入信息);btnflaginfo.setOnClickListener(newOnClickListener()/为便签信息按钮设置监听事件OverridepublicvoidonClick(Viewarg0)showInfo(R.ibtnflaginfo);/显示便签信息);lvinfo.setOnItemClickListener(newOnItemClickListener()/为ListView添加项单击事件/覆写onItemClick方法OverridepublicvoidonItemCl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 38278.1-2026全息防伪产品技术条件第1部分:全息防伪产品通用技术条件
- T/ZHHX 006-2025主要鲜切花流通规范
- T/HZFDS 001-2025体外诊断试剂出口质量管理能力评价规范
- T/CMAM M55-2025溢血症(免疫性血小板减少症)蒙医诊疗指南
- T/CARD 057-2024脑卒中重症康复服务指南
- T/CSCMA 0004-2023出口工程机械二手设备 评估服务规范
- 高校产学研合作基础培训
- 2025~2026学年广东省茂名市高州市北师大版六年级上册阶段练习(三)数学试卷【附答案】
- PHP后端面试题及详细答案(实战完整版)
- 引水隧洞衬砌及防渗堵漏施工方案
- 2026年保密培训考试题带答案(完整版)
- 6.4民生福祉持续增进 议题式教学课件(共24张)+内嵌视频 2026-2027学年统编版道德与法治9年级上册
- 2026年多旋翼无人机超视距驾驶员执照考试题库(新版)
- 中国邮政集团招聘考试历年真题
- 旧房翻新施工方案模板(3篇)
- 2026年一级造价师案例考试真题及答案
- 回复客户投诉的的质量整改函(6篇)
- 2026年春季云南云天化股份有限公司招聘(校园招聘)笔试历年参考题库附带答案详解
- 北京工业职业技术学院《网络营销》2025-2026学年期末试卷
- JJF(石化)078-2023激光甲烷遥测仪校准规范
- 焦点解决技术
评论
0/150
提交评论