移动应用开发技术的课程设计教材.docx

上传人:b****2 文档编号:3314897 上传时间:2023-05-05 格式:DOCX 页数:16 大小:50.52KB
下载 相关 举报
移动应用开发技术的课程设计教材.docx_第1页
第1页 / 共16页
移动应用开发技术的课程设计教材.docx_第2页
第2页 / 共16页
移动应用开发技术的课程设计教材.docx_第3页
第3页 / 共16页
移动应用开发技术的课程设计教材.docx_第4页
第4页 / 共16页
移动应用开发技术的课程设计教材.docx_第5页
第5页 / 共16页
移动应用开发技术的课程设计教材.docx_第6页
第6页 / 共16页
移动应用开发技术的课程设计教材.docx_第7页
第7页 / 共16页
移动应用开发技术的课程设计教材.docx_第8页
第8页 / 共16页
移动应用开发技术的课程设计教材.docx_第9页
第9页 / 共16页
移动应用开发技术的课程设计教材.docx_第10页
第10页 / 共16页
移动应用开发技术的课程设计教材.docx_第11页
第11页 / 共16页
移动应用开发技术的课程设计教材.docx_第12页
第12页 / 共16页
移动应用开发技术的课程设计教材.docx_第13页
第13页 / 共16页
移动应用开发技术的课程设计教材.docx_第14页
第14页 / 共16页
移动应用开发技术的课程设计教材.docx_第15页
第15页 / 共16页
移动应用开发技术的课程设计教材.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

移动应用开发技术的课程设计教材.docx

《移动应用开发技术的课程设计教材.docx》由会员分享,可在线阅读,更多相关《移动应用开发技术的课程设计教材.docx(16页珍藏版)》请在冰点文库上搜索。

移动应用开发技术的课程设计教材.docx

移动应用开发技术的课程设计教材

 

《移动应用开发技术》

 

题目:

基于Android的个人生活助手

 

专业:

学长淘宝店530213

班级:

学长淘宝店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事务新增代码

publicvoidsave(Viewview)

{

if(checkDate()||checkStartTime())

return;

StringBuilderresult=newStringBuilder();

result.append(date.getText().toString()+"");

result.append(startTime.getText().toString()+"-");

result.append(item.getText().toString());

try

{

if(this.getIntent().getStringExtra("flag").equals("change"))

{

intindex=getIntent().getExtras().getInt("position");

Stringline="";

StringBuildersb=newStringBuilder();

FileInputStreamin=openFileInput("item");

BufferedReaderbr=newBufferedReader(newInputStreamReader(in));

for(inti=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;

}

FileOutputStreamout=openFileOutput("item",MODE_PRIVATE);

PrintStreamps=newPrintStream(out);

ps.print(sb.toString());

ps.close();

out.close();

Toast.makeText(this,"保存完毕!

",Toast.LENGTH_LONG).show();

Intentintent=getIntent();

setResult(0x111,intent);

finish();

}

else

{

FileOutputStreamout=openFileOutput("item",MODE_APPEND);

PrintStreamps=newPrintStream(out);

ps.println(result.toString());

ps.close();

out.close();

Toast.makeText(this,"保存完毕!

",Toast.LENGTH_LONG).show();

Intentintent=getIntent();

setResult(0x111,intent);

finish();

}

}

catch(Exceptione)

{

e.printStackTrace();

}

}

publicbooleancheckDate()

{

if(date.getText().toString().equals(""))

{

Toast.makeText(this,"日期不能为空!

",Toast.LENGTH_LONG).show();

returnfalse;

}

returnfalse;

}

publicbooleancheckStartTime()

{

if(startTime.getText().toString().equals(""))

{

Toast.makeText(this,"时间不能为空!

",Toast.LENGTH_LONG).show();

returntrue;

}

returnfalse;

}

5.1.2事务查询代码

publicString[]splitString(Strings)

{

String[]ss=newString[3];

intfirstIndex=0,secondIndex=0,flag=0;

chara[]=s.toCharArray();

for(inti=0;i

{

if(a[i]=='')

{

if(flag==0)

{

firstIndex=i;

flag=1;

}

else

{

break;

}

}

if(a[i]=='-')

{

secondIndex=i;

}

}

ss[0]=s.substring(0,firstIndex);

ss[1]=s.substring(firstIndex+1,secondIndex);

ss[2]=s.substring(secondIndex+1,s.length());

returnss;

}

5.1.3事务删除代码

publicvoiddelete(Viewview)

{

intindex=getIntent().getExtras().getInt("position");

Stringline="";

StringBuildersb=newStringBuilder();

try

{

FileInputStreamin=openFileInput("item");

BufferedReaderbr=newBufferedReader(newInputStreamReader(in));

for(inti=0;i

{

sb.append(br.readLine()+"\n");

}

br.readLine();

while(true)

{

if((line=br.readLine())!

=null)

sb.append(line+"\n");

else

break;

}

FileOutputStreamout=openFileOutput("item",MODE_PRIVATE);

PrintStreamps=newPrintStream(out);

ps.print(sb.toString());

ps.close();

out.close();

Toast.makeText(this,"删除成功!

",Toast.LENGTH_LONG).show();

Intentintent=getIntent();

setResult(0x111,intent);

finish();

}

catch(Exceptione)

{

e.printStackTrace();

}

}

5.1.4事务修改代码

setActivity.setText("修改");

title.setText("事务管理");

delete.setVisibility(View.VISIBLE);

intindex=getIntent().getExtras().getInt("position");

//Toast.makeText(this,""+index,Toast.LENGTH_LONG).show();

FileInputStreamin;

Stringline="";

try{

in=openFileInput("item");

BufferedReaderbr=newBufferedReader(newInputStreamReader(in));

for(inti=0;i<=index;i++)

{

line=br.readLine();

}

//Toast.makeText(this,line,Toast.LENGTH_LONG).show();

String[]s=splitString(line);

date.setText(s[0]);

startTime.setText(s[1]);

item.setText(s[2]);

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

5.2收支功能实现

5.2.1收支新增代码

save.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewview){

//TODOAuto-generatedmethodstub

Stringt=time.getText().toString();

Stringi=income.getText().toString();

Stringo=outcome.getText().toString();

db.execSQL("insertintoshouruvalues(?

?

?

)",

newString[]{t,i,o});

Toast.makeText(Mbook.this,"保存成功",Toast.LENGTH_SHORT).show();

5.2.2收支查询代码

read.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewview){

//TODOAuto-generatedmethodstub

list.setText("");

Cursorcursor=db.rawQuery("select*fromshouru",null);

while(true){

if(cursor.moveToNext()==false)

break;

Stringt=cursor.getString(0);

inti=cursor.getInt

(1);

into=cursor.getInt

(2);

inta=i-o;

Stringtmp=list.getText().toString();

list.setText(tmp+"\n"+"时间:

"+t+"月份"+"总收入:

"+i+""+"总支出:

"+o+""+"收支差:

"+a);

}

}

});

read1.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewview){

//TODOAuto-generatedmethodstub

list.setText("");

Cursorcursor=db.rawQuery("select*fromshouru",null);

while(true){

if(cursor.moveToNext()==false)

break;

Stringt=cursor.getString(0);

inti=cursor.getInt

(1);

Stringtmp=list.getText().toString();

list.setText(tmp+"\n"+"时间:

"+t+"月份"+"总收入:

"+i);

}

}

});

read2.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewview){

//TODOAuto-generatedmethodstub

list.setText("");

Cursorcursor=db.rawQuery("select*fromshouru",null);

while(true){

if(cursor.moveToNext()==false)

break;

Stringt=cursor.getString(0);

into=cursor.getInt

(1);

Stringtmp=list.getText().toString();

list.setText(tmp+"\n"+"时间:

"+t+"月份"+"总支出:

"+o);

}

}

});

read3.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewview){

//TODOAuto-generatedmethodstub

Intentintent=newIntent();

intent.setClass(Sbook.this,Bookmain.class);

startActivity(intent);

}

});

5.2.3收支删除代码

thing2.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewarg0){

//TODOAuto-generatedmethodstub

Stringaa=thing.getText().toString();

db.execSQL("deletefromshouruwheretime=?

",newString[]{aa});

Toast.makeText(Sbook.this,"清除成功",Toast.LENGTH_SHORT).show();

finish();

}

5.2.4收支修改代码

6总结学长淘宝店530213

本软件还存在几个模块的功能需改进,比如在输入值的判断方面,等等;同时对安卓的一些基本内容的整体上的应用,往后在设计当中还需努力与严密性的考虑,也是为以后从事软件上测试方面减少维护与修改。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2