版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
常州工学院学士学位设计第一部分设计任务1.1设计背景1.记账的优势在于:灵活、便捷,用以改进自己的理财和支出习惯;严格保护用户数据隐私和安全,不出卖用户数据、数据每周备份;能够使用户很好的了解自己的收入和支出以及消费情况。2.本系统选用当前主流的开发语言Java语言作为开发语言,结合当前最为流行的移动开发技术,基于Android系统下的开发软件技术,开发本系统,设计选在Android平台上实现可以很好的发挥该软件系统的用处。功能解决:本系统设计主要帮助不会自主理财的人们很容易的学会自主理财,通过软件的各个功能,实现在电子系统上记录个人理财信息,提醒以及帮助用户实现自主理财。性能解决:对于一个系统不仅需要考虑功能的实用性,还要考虑系统的性能可靠。本系统通过使用eclipse作为数据库存储数据。Eclipse数据是一款轻量级的数据库,便于移植。同时,配合Android系统,可以设计一款清凉级的基于Android系统的应用软件.3.这款软件的主要目的是为了使个人掌握自己的收入和支出情况,合理的规划自己的消费额度;培养良好的消费习惯;增强个人的财务管理,提高自己的理财水平。并且,记账是帮助个人记录现金流入与流出、资产形式的转换以及个人风险保障状况的变动。一般情况下,记账功能都会包含个人的资产收入和支出等两个部分,分别记录个人存量和流量项目的数据,随时反映个人财务现状。合理的记账结构,能够帮助我们轻松分析家庭的生活结构;记账是实施理财规划建议的有力保障;记账是最好的财务总结。所以,记账对家庭理财具有举足轻重的作用。不记账,个人财务就是一笔糊涂账,没有头绪,也不能及时发现问题;记账,家庭财产的方方面面便清晰可见,个人的消费结构和生活水平也会随之改善。1.2设计方法在android系统应用如此火热的情况下,开发一款基于android系统的个人记账系统,不仅能很好的应用android系统的优势,可以在不同的小型手持设备上安装该软件。同时,手持设备的便于携带性也大大提高了软件的使用价值,不仅可以随时随地记账,还能从另一方面解决人们不善于管理个人财务的习惯,帮助大家实现自主理财。基于Android系统手机的个人记账系统,设计清新,使用简单,管理功能强,在当前的高速发展的社会经济条件下,为帮助我们这一代不会理财的年轻人轻松实现自主理财,设计这样一款个人记账系统是非常有意义和利用价值的。根据个人理财实现的实际需求,本系统的设计解决方法如下:1.设计语言与结构:本系统选用当前主流的开语言Java语言作为开发语言,结合当前最为流行的移动开发技术,基于android系统下的软件开发技术,开发本系统,设计选在在android平台上实现可以很好的发挥该软件系统的用处。2.功能解决:本系统设计主要为帮助不会自主理财的人们能很容易的学会自主理财,通过软件中的各个功能,实现在电子系统上记录个人理财信息,提醒以及帮助用户实现自主理财。3.性能解决:对于一个系统不仅要考虑功能的实用性,还要考虑系统的性能可靠。本系统通过使用oracle作为数据库存储数据。oracle数据库是一款轻量级数据库,便于移植。同时,配合android系统,可以设计一款清凉级的基于android系统应用软件。第二部分设计说明2.1系统需求分析本系统具有如下功能模块系统管理模块:收入信息和支出信息查询。支出信息以表格的形式展现,输入要查询的时间段,就会显示该时间段的支出信息,收入信息查询跟支出信息查询类似。基本信息管理模块:对支出、收入信息进行管理。收支统计模块:对收支信息进行管理,可记录这时间段的收入和支出,同时可以计算出余额。2.2运行环境1)
设备具备Android系统的手机或者其他手持设备2)
支持软件(1)用户基础软件配置Android1.6及其以上版本相关软件工具:(2)开发工具IDE:Eclipse+AndroidADT+androidSDK平台:WindowsXP(3)测试环境不同厂商以及不同android系统版本的智能手机2.3用户的特点本系统针对的用户为所有使用操作系统为Android的智能手机用户。客户应具备基础的手机操作以及手机键盘打字基础。2.4功能需求通过对实际需求的调研,系统功能模块图如图所示。各模块的具体功能如下所述:用户记账:用户根据日期记录某天消费情况和收入情况查询记录:查询某天的信息3)系统设置:设置本系统中的一些账户和收入以及消费类型1b/|8L)d-x4r$n&\#\
2.5
系统各项功能描述(1)用例1用例名:系统记账行为者:用户目的:用户根据每天的收入和消费情况进行详细的记录,以便日后查看。级别:一级过程描述:
进入andorid系统菜单界面,点击爱记账图表进入系统;b.
进入系统主界面后选择“记一笔”进入系统记账页面;c.
选择记账类型,输入金额,选择好收入或者支出类型,同时选择好指定账户进行记录;d.
设置完毕,用户数据保存成功。
与其它用例的关联:无异常处理:无第三部分设计成果主菜单界面点击记一笔进入该页面,该页面功能有类型选择记录支出,收入、类型选择和时间! 支出记录事物选项栏=支出选项收入选项事物展示时间选项publicclassMainActivityextendsActivity{ AccountDateBaseHelpermDbHelper; AccountDaoaccount; publicstaticString[]indexLists={"吃饭","购物","学习用品","工资","其他"}; publicstaticint[]indexPicLists={R.drawable.lingshi,R.drawable.fushi, R.drawable.xuezafei,R.drawable.gongzi,R.drawable.baojianpin}; ListViewlv_result; AccountAdapteradapter; TextViewtv_all_date; TextViewtv_income_result; TextViewtv_pay_result; TextViewtv_balance_result; //菜单按键处理 @Override publicbooleanonOptionsItemSelected(MenuItemitem){ //TODOAuto-generatedmethodstub switch(item.getItemId()){ caseR.id.action_record: record(null); break; caseR.id.action_search: search(null); break; } returnsuper.onOptionsItemSelected(item); } @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //getActionBar().hide(); //// getActionBar().setDisplayShowTitleEnabled(false);// getActionBar().setDisplayUseLogoEnabled(false);// getActionBar().setDisplayShowHomeEnabled(false);// mDbHelper=newAccountDateBaseHelper(this); account=newAccountDao(mDbHelper.getDatabase()); lv_result=(ListView)findViewById(R.id.lv_result); tv_all_date=(TextView)findViewById(R.id.tv_all_date); tv_income_result=(TextView)findViewById(R.id.tv_income_result); tv_pay_result=(TextView)findViewById(R.id.tv_pay_result); tv_balance_result=(TextView)findViewById(R.id.tv_balance_result); setTime(); refrashList(null); //设置触摸事件 lv_result.setOnTouchListener(newOnTouchListener(){ @Override publicbooleanonTouch(Viewarg0,MotionEventev){ //TODOAuto-generatedmethodstub //判断是否点击在空的位置 switch(ev.getAction()){ caseMotionEvent.ACTION_MOVE://手指一定解除在屏幕上 caseMotionEvent.ACTION_DOWN://按下的时候 caseMotionEvent.ACTION_UP: break; } intmotionPosition=lv_result.pointToPosition((int)ev.getX(), (int)ev.getY()); if(motionPosition==lv_result.INVALID_POSITION){ Toast.makeText(MainActivity.this,"11",0).show(); } returnfalse; } }); } @SuppressLint("NewApi") publicvoidsearch(Viewv){ DatePickerDialogdpd=newDatePickerDialog(MainActivity.this, newOnDateSetListener(){ @Override publicvoidonDateSet(DatePickerarg0,intarg1,intarg2, intarg3){ //TODOAuto-generatedmethodstub year=arg1; month=arg2+1; day=arg3; //刷新界面 refrashList(null); } },year,month-1,1); DatePickerdp=dpd.getDatePicker(); ((LinearLayout)((ViewGroup)dp.getChildAt(0)).getChildAt(0)) .getChildAt(2).setVisibility(View.GONE); dpd.show(); } publicvoidrefrashList(StringorderBy){ tv_all_date.setText(year+"年"+month+"月"); adapter=newAccountAdapter(account.getBeanList(AccountTable.COL_YEAR +"=?and"+AccountTable.COL_MONTH+"=?",newString[]{ year+"",month+""},orderBy),this); lv_result.setAdapter(adapter); doubleincome=account.getIncomeAll(); tv_income_result.setText(income+""); doublepay=account.getPayAll(); tv_pay_result.setText(pay+""); doublebalance=income-pay; tv_balance_result.setText(balance+""); } doublemoney; intyear; intday; intmonth; publicvoidsetTime(){ Calendarc=Calendar.getInstance(); c.setTimeInMillis(System.currentTimeMillis()); year=c.get(Calendar.YEAR); day=c.get(Calendar.DAY_OF_MONTH); month=c.get(Calendar.MONTH)+1; } Buttonbtn_setTime; Buttonbtn_setIndex; EditTextet_input_money; EditTextet_input_detail; RadioGrouprg_type; intindex;//消费类比 Builderbuilder; publicvoidrecord(Viewv){ builder=newBuilder(this); Viewview=LayoutInflater.from(this).inflate(R.layout.record_layout, null); et_input_money=(EditText)view.findViewById(R.id.et_input_money); et_input_money.setTextColor(Color.RED); btn_setTime=(Button)view.findViewById(R.id.btn_gettime); //setTime(); btn_setTime.setText(year+"-"+month+"-"+day); et_input_detail=(EditText)view.findViewById(R.id.et_input_detail); rg_type=(RadioGroup)view.findViewById(R.id.rg_type); rg_type.setOnCheckedChangeListener(newOnCheckedChangeListener(){ @Override publicvoidonCheckedChanged(RadioGrouparg0,intarg1){ //TODOAuto-generatedmethodstub if(arg1==R.id.rd_pay){ et_input_money.setTextColor(Color.RED); }else{ et_input_money.setTextColor(Color.GREEN); } } }); builder.setOnKeyListener(newOnKeyListener(){ @Override publicbooleanonKey(DialogInterfacearg0, intarg1,//keycode KeyEventarg2){ //TODOAuto-generatedmethodstub switch(arg1){ caseKeyEvent.KEYCODE_BACK: arg0.dismiss(); break; } returnfalse; } }); btn_setIndex=(Button)view.findViewById(R.id.btn_setindex); btn_setIndex.setText(indexLists[index]); btn_setIndex.setOnClickListener(newView.OnClickListener(){ @Override publicvoidonClick(Viewarg0){ //TODOAuto-generatedmethodstub Builderbuilder=newBuilder(MainActivity.this); builder.setItems(indexLists,newOnClickListener(){ @Override publicvoidonClick(DialogInterfacearg0,intarg1){ //TODOAuto-generatedmethodstub index=arg1; btn_setIndex.setText(indexLists[index]); } }); builder.show(); } }); btn_setTime.setOnClickListener(newView.OnClickListener(){ @Override publicvoidonClick(Viewarg0){ //TODOAuto-generatedmethodstub DatePickerDialogdpd=newDatePickerDialog(MainActivity.this, newOnDateSetListener(){ @Override publicvoidonDateSet(DatePickerarg0,intarg1, intarg2,intarg3){ //TODOAuto-generatedmethodstub year=arg1; month=arg2+1; day=arg3; btn_setTime.setText(year+"-"+month+"-" +day); } },year,month-1,day); dpd.show(); } }); builder.setTitle("记一笔"); builder.setView(view); builder.setCancelable(false); builder.setPositiveButton("保存",newOnClickListener(){ @Override publicvoidonClick(DialogInterfacearg0,intarg1){ //TODOAuto-generatedmethodstub Stringstr_money=et_input_money.getText().toString(); if(str_money.equals("")){ money=0; }else{ money=Double.parseDouble(str_money); } AccountBeanbean=newAccountBean(); bean.setYear(year); bean.setDay(day); bean.setMonth(month); bean.setDetail(et_input_detail.getText().toString()); bean.setMoney(money); bean.setIndex(index); intid=rg_type.getCheckedRadioButtonId(); if(id==R.id.rd_pay)//支出 { bean.setType(0); }else{ bean.setType(1); } bean.setIndex(index);//设置类别 account.insert(bean); Toast.makeText(MainActivity.this,"保存成功",0).show(); //刷新界面 refrashList(null); } }); builder.setNegativeButton("放弃",null); builder.show(); } @Override publicbooleanonCreateOptionsMenu(Menumenu){ //Inflatethemenu;thisaddsitemstotheactionbarifitispresent. getMenuInflater().inflate(R.menu.main,menu); returntrue; } @Override protectedvoidonDestroy(){ //TODOAuto-generatedmethodstub mDbHelper.close(); super.onDestroy(); }个人完成模块及代码: publicvoidonDateSet(DatePickerarg0,intarg1, intarg2,intarg3){ //TODOAuto-generatedmethodstub year=arg1; month=arg2+1; day=arg3; btn_setTime.setText(year+"-"+month+"-" +day); } },year,month-1,day); dpd.show(); } }); builder.setTitle("记一笔"); builder.setView(view); builder.setCancelable(false); builder.setPositiveButton("保存",newOnClickLispublicvoidonDateSet(DatePickerarg0,intarg1, intarg2,intarg3){ //TODOAuto-generatedmethodstub year=arg1; month=arg2+1; day=arg3; btn_setTime.setText(year+"-"+month+"-" +day); } },year,month-1,day); dpd.show(); } }); builder.setTitle("记一笔"); builder.setView(view); builder.setCancelable(false); builder.setPositiveButton("保存",newOnClickListenpublicvoidonDateSet(DatePickerarg0,intarg1, intarg2,intarg3){ //TODOAuto-generatedmethodstub year=arg1; month=arg2+1; day=arg3; btn_setTime.setText(year+"-"+month+"-" +day); } },year,month-1,day); dpd.show(); } }); builder.setTitle("记一笔"); builder.setView(view); builder.setCanc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《急救护理困扰》课件
- 《护理教育学辅导》课件
- 【大学课件】土木工程概论 土木工程材料
- 高端装备数字化智能工厂项目可行性研究报告写作模板-备案审批
- 《莫言英文简介》课件
- 单位人力资源管理制度汇编大全十篇
- 甘肃省武威市凉州区2024-2025学年高一上学期期末考试历史试卷(含答案)
- 循环经济产业园雨污分流改造及再生水回用项目可行性研究报告写作模板-备案审批
- 单位管理制度收录大合集【职工管理篇】
- 【课件】大學課程演進的回顧與展望
- 学生管理教育课件
- 物业经理转正述职
- 贸易岗位招聘面试题及回答建议(某大型国企)2025年
- 世界职业院校技能大赛高职组“关务实务组”赛项参考试题及答案
- 高中历史教师资格考试面试试题及解答参考(2024年)
- 银行贷款房产抵押合同样本
- 北师大版(2024新版)生物七年级上册期末考点复习提纲
- 期末 试题 -2024-2025学年人教PEP版英语六年级上册 (含答案)
- 2024年理论中心组学习心得体会模版(2篇)
- 2024年传媒公司总结及下半年规划范文(2篇)
- 建设项目环境保护管理条例
评论
0/150
提交评论