版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
常州工学院学士学位设计目录TOC\o"1-3"\f\h\u第一部分设计任务 31.1
设计背景及目的 31.2设计和解决方法 31.3设计流程图 4第二部分设计说明 52.1系统需求分析 52.1.1
运行环境 52.2用户的特点 52.3
测试案例 5第三部分设计成果 7第四部分结束语 18第五部分致谢 18第六部分参考文献 19第一部分设计任务1.1
设计背景及目的随着经济社会的高速发展,人们的生活水平也在飞速的提高,同时人们的收入和消费水平也得到了很大的提升,也从过去的单一输入和消费变成了今天的多元化收入和消费模式。尤其是我们青年人,对现在新型消费有非常高的热情,但是这样给在高速发展的消费经济情况下的我们带来了一些意想不到的负面影响,比较突出的一点就是当前80、90后的一代年轻人只懂得消费和挣钱,不能很好的理财,这给我们的物质生活带来了不少的麻烦。所以不同功能的个人理财系统便由此产生了,不论是PC版还是手持设备版都有。在这几年中,飞速的发展,现在已经超过了过去看似很完美的塞班系统,成为全球最大的手机及手持设备系统之一。Android操作系统凭借着自己开放的平台允许任何移动终端厂商加入到Android联盟中,从而使得越来越多的用户倾向于选择操作系统为Android的终端设备。1.2设计和解决方法在android系统应用如此火热的情况下,开发一款基于android系统的个人记账系统,不仅能很好的应用android系统的优势,可以在不同的小型手持设备上安装该软件。同时,手持设备的便于携带性也大大提高了软件的使用价值,不仅可以随时随地记账,还能从另一方面解决人们不善于管理个人财务的习惯,帮助大家实现自主理财。基于Android系统手机的个人记账系统,设计清新,使用简单,管理功能强,在当前的高速发展的社会经济条件下,为帮助我们这一代不会理财的年轻人轻松实现自主理财,设计这样一款个人记账系统是非常有意义和利用价值的。根据个人理财实现的实际需求,本系统的设计解决方法如下:1.设计语言与结构:本系统选用当前主流的开语言Java语言作为开发语言,结合当前最为流行的移动开发技术,基于android系统下的软件开发技术,开发本系统,设计选在在android平台上实现可以很好的发挥该软件系统的用处。2.功能解决:本系统设计主要为帮助不会自主理财的人们能很容易的学会自主理财,通过软件中的各个功能,实现在电子系统上记录个人理财信息,提醒以及帮助用户实现自主理财。3.性能解决:对于一个系统不仅要考虑功能的实用性,还要考虑系统的性能可靠。本系统通过使用oracle作为数据库存储数据。oracle数据库是一款轻量级数据库,便于移植。同时,配合android系统,可以设计一款清凉级的基于android系统应用软件。1.3设计流程图
第二部分设计说明2.1系统需求分析本系统具有如下功能模块系统管理模块:收入信息和支出信息查询。支出信息以表格的形式展现,输入要查询的时间段,就会显示该时间段的支出信息,收入信息查询跟支出信息查询类似。基本信息管理模块:对支出、收入信息进行管理。收支统计模块:对收支信息进行管理,可记录这时间段的收入和支出,同时可以计算出余额。2.1.1
运行环境1)
设备具备Android系统的手机或者其他手持设备2)
支持软件(1)用户基础软件配置Android1.6及其以上版本相关软件工具:(2)开发工具IDE:Eclipse+AndroidADT+androidSDK平台:WindowsXP(3)测试环境不同厂商以及不同android系统版本的智能手机2.2用户的特点本系统针对的用户为所有使用操作系统为Android的智能手机用户。客户应具备基础的手机操作以及手机键盘打字基础。2.3
测试案例用例名:系统记账行为者:用户目的:用户根据每天的收入和消费情况进行详细的记录,以便日后查看。级别:一级过程描述:
进入andorid系统菜单界面,点击爱记账图表进入系统;b.
进入系统主界面后选择“记一笔”进入系统记账页面;c.
选择记账类型,输入金额,选择好收入或者支出类型,同时选择好指定账户进行记录;d.
设置完毕,用户数据保存成功。
与其它用例的关联:无异常处理:无
第三部分设计成果设计成果:主菜单主界面点击记一笔进入该页面,该页面功能有类型选择记录支出,收入、类型选择和时间!记录支出数据记录收入数据保存数据选择日期年月本人在整个软件开发设计过程中主要是做记录的类型和日期这模块一块的功能,在这块模块的开发过程中,我查阅了大量有关这方面的资料。这模块主要是记录人们在哪方面支出和收入的情况,还有某年某月某日支出和收入的情况!方便人们记录和查询某天的支出情况。具体如下图:类型选择日期选择产品特点:爱记账的特点在于灵活,简洁,方便,易于操作。爱记账能够清清楚楚的记录你每一天的消费情况,爱记账主要突出爱和记账二字。爱:是指网站的用户体验,在用户体验上要让网友用起来舒服,喜欢,只有这样他们才会爱;记账:是帮助大家理财,让大家能够方便清晰地管理自己的财富。程序代码: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;publicclassMainActivityextendsActivity{ AccountDateBaseHelpermDbHelper; AccountDaoaccount; publicstaticString[]indexLists={"吃饭","购物","学习用品","工资","其他"}; publicstaticint[]indexPicLists={R.drawable.lingshi,R.drawable.fushi, R.drawable.xuezafei,R.drawable.gongzi, 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,"保
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沪科版数学九年级上册《平行线分线段成比例》听评课记录1
- 苏科版版数学七年级上册听评课记录《3-5 去括号》
- 2022年新课标八年级上册历史第四单元新民主主义革命的开始12-14课共3课时听课评课记录
- 一年级拼音听评课记录
- 湘教版数学八年级上册5.2《二次根式的除法》听评课记录1
- 苏科版数学七年级下册7.5.1《多边形的内角和与外角和》听评课记录
- 商铺租赁长期出租合同范本
- 农业开发战略合作协议书范本
- 2025年度焊接清包工劳务创新合作协议
- 郊区中等装修住宅长期出租协议书范本
- 自卸车司机实操培训考核表
- 教师个人基本信息登记表
- 中考现代文阅读理解题精选及答案共20篇
- ESD测试作业指导书-防静电手环
- 高频变压器的制作流程
- 春季开学安全第一课PPT、中小学开学第一课教育培训主题班会PPT模板
- JJG30-2012通用卡尺检定规程
- 部编版人教版二年级上册语文教材分析
- 艾宾浩斯遗忘曲线复习方法表格模板100天
- APR版制作流程
- 《C++程序设计》完整教案
评论
0/150
提交评论