《移动应用开发技术的课程设计(共21页).doc》由会员分享,可在线阅读,更多相关《移动应用开发技术的课程设计(共21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上移动应用开发技术题目: 基于Android的个人生活助手 专业: 学长淘宝店 班级: 学长淘宝店 学号: 学长淘宝店 姓名: 学长淘宝店 指导教师: 学长淘宝店 完成日期: 2015年 05月 28日1需求分析随着安卓市场的发展,手机软件更新与时俱进,手机的个人助手已不是什么有创意的软件了,而是一种实用性的软件。基于安卓的个人生活助手,实现事务的管理和收支的管理,随身随时随带,提供优质的服务。学长淘宝店 1.1用户需求分析由于用户在日常生活中,忙碌也有时对事务的遗忘,以及对收支的不明,然而这个安卓手机日常助手提供了事务管理和收支管理,用户则对日常事务或收支进行记录,查
2、询等功能,让用户不会因遗忘应做的事务,比如,什么时间预约好客户谈生意,也不会因此造成损失;对开支的也有明确的记录,对以后生活上的开支规划,提供生活质量。1.2功能需求分析学长淘宝店 根据上面的需求分析,设计安卓生活日常助手。根据以上的想法,设计出助手的功能:1)、事务(查询,新增,删除,修改,提醒);2)、收支(查询,新增,删除,修改);3)、录音;4)、音乐;5)、日历;6)、时钟。2事务管理和收支管理流程分析事务管理流程图收支管理流程图3系统结构设计学长淘宝店 3.1系统的总体结构功能模块设计3.2系统静态模型设计学长淘宝店 根据系统需求设计7个界面类,分别是MainActivity(主界
3、面类),Affairsmain(事务界面类),Bookmain(收支界面类),Maffairs(事务管理界面类),Mbook(收支管理界面类),Saffairs(事务查询界面类),Sbook(收支查询界面类) 确定系统的类后确定类之间的关系:3.3主界面的功能模块设计学长淘宝店 3.3.1事务界面的功能模块设计学长淘宝店 3.3.2收支界面的功能模块设计学长淘宝店 4 系统数据库模型设计学长淘宝店 4.1E-R图4.1.1事务的E-R图:4.1.2收支的E-R图:5 功能实现学长淘宝店 5.1事务功能实现5.1.1事务新增代码public void save(View view)if(chec
4、kDate()|checkStartTime()return;StringBuilder result=new StringBuilder();result.append(date.getText().toString()+ );result.append(startTime.getText().toString()+-);result.append(item.getText().toString();tryif(this.getIntent().getStringExtra(flag).equals(change)int index=getIntent().getExtras().getIn
5、t(position);String line=;StringBuilder sb=new StringBuilder();FileInputStream in=openFileInput(item);BufferedReader br=new BufferedReader(new InputStreamReader(in);for(int i=0;iindex;i+)sb.append(br.readLine()+n);br.readLine();sb.append(result.toString()+n);while(true)if(line=br.readLine()!=null)sb.
6、append(line+n);elsebreak;FileOutputStream out=openFileOutput(item, MODE_PRIVATE);PrintStream ps=new PrintStream(out);ps.print(sb.toString();ps.close();out.close();Toast.makeText(this, 保存完毕!, Toast.LENGTH_LONG).show();Intent intent=getIntent();setResult(0x111,intent);finish();elseFileOutputStream out
7、=openFileOutput(item, MODE_APPEND);PrintStream ps=new PrintStream(out);ps.println(result.toString();ps.close();out.close();Toast.makeText(this, 保存完毕!, Toast.LENGTH_LONG).show();Intent intent=getIntent();setResult(0x111,intent);finish();catch(Exception e)e.printStackTrace();public boolean checkDate()
8、if(date.getText().toString().equals()Toast.makeText(this, 日期不能为空!, Toast.LENGTH_LONG).show();return false;return false;public boolean checkStartTime()if(startTime.getText().toString().equals()Toast.makeText(this, 时间不能为空!, Toast.LENGTH_LONG).show();return true;return false;5.1.2事务查询代码public String sp
9、litString(String s)String ss=new String3;int firstIndex=0,secondIndex=0,flag=0;char a=s.toCharArray();for(int i=0;ia.length;i+)if(ai= )if(flag=0)firstIndex=i;flag=1;elsebreak;if(ai=-)secondIndex=i;ss0=s.substring(0, firstIndex);ss1=s.substring(firstIndex+1, secondIndex);ss2=s.substring(secondIndex+1
10、,s.length();return ss;5.1.3事务删除代码public void delete(View view)int index=getIntent().getExtras().getInt(position);String line=;StringBuilder sb=new StringBuilder();tryFileInputStream in=openFileInput(item);BufferedReader br=new BufferedReader(new InputStreamReader(in);for(int i=0;iindex;i+)sb.append(
11、br.readLine()+n);br.readLine();while(true)if(line=br.readLine()!=null)sb.append(line+n);elsebreak;FileOutputStream out=openFileOutput(item, MODE_PRIVATE);PrintStream ps=new PrintStream(out);ps.print(sb.toString();ps.close();out.close();Toast.makeText(this, 删除成功!, Toast.LENGTH_LONG).show();Intent int
12、ent=getIntent();setResult(0x111,intent);finish();catch(Exception e)e.printStackTrace();5.1.4事务修改代码setActivity.setText(修改); title.setText(事务管理); delete.setVisibility(View.VISIBLE); int index=getIntent().getExtras().getInt(position);/ Toast.makeText(this, +index, Toast.LENGTH_LONG).show(); FileInputSt
13、ream in; String line=;try in = openFileInput(item);BufferedReader br=new BufferedReader(new InputStreamReader(in);for(int i=0;i=index;i+)line=br.readLine();/Toast.makeText(this, line, Toast.LENGTH_LONG).show();String s=splitString(line);date.setText(s0);startTime.setText(s1);item.setText(s2); catch
14、(Exception e) / TODO Auto-generated catch blocke.printStackTrace(); 5.2收支功能实现5.2.1收支新增代码 save.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View view) / TODO Auto-generated method stubString t=time.getText().toString();String i=income.getText().toString();String o=outcome
15、.getText().toString();db.execSQL(insert into shouru values(?,?,?),new Stringt,i,o);Toast.makeText(Mbook.this, 保存成功, Toast.LENGTH_SHORT).show();5.2.2收支查询代码 read.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View view) / TODO Auto-generated method stublist.setText();Cursor
16、cursor=db.rawQuery(select*from shouru, null);while(true)if(cursor.moveToNext()=false)break;String t=cursor.getString(0);int i=cursor.getInt(1);int o=cursor.getInt(2);int a=i-o;String tmp=list.getText().toString();list.setText(tmp+n+时间:+t+月份 +总收入:+i+ +总支出:+o+ +收支差:+a););read1.setOnClickListener(new V
17、iew.OnClickListener() Overridepublic void onClick(View view) / TODO Auto-generated method stublist.setText();Cursor cursor=db.rawQuery(select*from shouru, null);while(true)if(cursor.moveToNext()=false)break;String t=cursor.getString(0);int i=cursor.getInt(1);String tmp=list.getText().toString();list
18、.setText(tmp+n+时间:+t+月份 +总收入:+i););read2.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View view) / TODO Auto-generated method stublist.setText();Cursor cursor=db.rawQuery(select*from shouru, null);while(true)if(cursor.moveToNext()=false)break;String t=cursor.getString(0)
19、;int o=cursor.getInt(1);String tmp=list.getText().toString();list.setText(tmp+n+时间:+t+ 月份 +总支出:+o););read3.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View view) / TODO Auto-generated method stubIntent intent = new Intent();intent.setClass(Sbook.this, Bookmain.class);st
20、artActivity(intent););5.2.3收支删除代码thing2.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View arg0) / TODO Auto-generated method stubString aa=thing.getText().toString();db.execSQL(delete from shouru where time=?,new Stringaa);Toast.makeText(Sbook.this, 清除成功, Toast.LENGTH_SHORT).show();finish();5.2.4收支修改代码6 总结学长淘宝店 本软件还存在几个模块的功能需改进,比如在输入值的判断方面,等等;同时对安卓的一些基本内容的整体上的应用,往后在设计当中还需努力与严密性的考虑,也是为以后从事软件上测试方面减少维护与修改。专心-专注-专业