移动应用开发技术的课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《移动应用开发技术》
题目:基于Android的个人生活助手
专业:学长淘宝店530213
班级:学长淘宝店530213
学号:学长淘宝店******
姓名:学长淘宝店530213
指导教师:学长淘宝店530213
完成日期: 2015年 05月 28日
1需求分析
随着安卓市场的发展,手机软件更新与时俱进,手机的个人助手已不是什么有创意的软件了,而是一种实用性的软件。基于安卓的个人生活助手,实现事务的管理和收支的管理,随身随时随带,提供优质的服务。学长淘宝店530213
1.1用户需求分析
由于用户在日常生活中,忙碌也有时对事务的遗忘,以及对收支的不明,然而这个安卓手机日常助手提供了事务管理和收支管理,用户则对日常事务或收支进行记录,查询等功能,让用户不会因遗忘应做的事务,比如,什么时间预约好客户谈生意,也不会因此造成损失;对开支的也有明确的记录,对以后生活上的开支规划,提供生活质量。
1.2功能需求分析学长淘宝店530213
根据上面的需求分析,设计安卓生活日常助手。根据以上的想法,设计出助手的功能:1)、事务(查询,新增,删除,修改,提醒);
2)、收支(查询,新增,删除,修改);
3)、录音;
4)、音乐;
5)、日历;
6)、时钟。
2事务管理和收支管理流程分析
事务管理流程图
收支管理流程图
3系统结构设计学长淘宝店530213
3.1系统的总体结构功能模块设计
3.2系统静态模型设计学长淘宝店530213
根据系统需求设计7个界面类,分别是MainActivity(主界面类),Affairsmain(事务界面类),Bookmain(收支界面类),Maffairs(事务管理界面类),Mbook(收支管理界面类),Saffairs(事务查询界面类),Sbook(收支查询界面类)
确定系统的类后确定类之间的关系:
3.3主界面的功能模块设计学长淘宝店530213
3.3.1事务界面的功能模块设计学长淘宝店530213
3.3.2收支界面的功能模块设计学长淘宝店530213
4 系统数据库模型设计学长淘宝店530213
4.1E-R图
4.1.1事务的E-R图:
4.1.2收支的E-R图:
5 功能实现学长淘宝店530213
5.1事务功能实现
5.1.1事务新增代码
public void save(View view)
{
if(checkDate()||checkStartTime())
return;
StringBuilder result=new StringBuilder();
result.append(date.getText().toString()+" ");
result.append(startTime.getText().toString()+"-");
result.append(item.getText().toString());
try
{
if(this.getIntent().getStringExtra("flag").equals("change") )
{
int
index=getIntent().getExtras().getInt("position");
String line="";
StringBuilder sb=new StringBuilder();
FileInputStream in=openFileInput("item");
BufferedReader br=new BufferedReader(new InputStreamReader(in));
for(int i=0;i { sb.append(br.readLine()+"\n"); } br.readLine(); sb.append(result.toString()+"\n"); while(true) { if((line=br.readLine())!=null) sb.append(line+"\n"); else break; } 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(); } else { FileOutputStream out=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() { 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[] splitString(String s) {