安卓课程设计报告.docx

上传人:b****5 文档编号:4427543 上传时间:2022-12-01 格式:DOCX 页数:10 大小:19.97KB
下载 相关 举报
安卓课程设计报告.docx_第1页
第1页 / 共10页
安卓课程设计报告.docx_第2页
第2页 / 共10页
安卓课程设计报告.docx_第3页
第3页 / 共10页
安卓课程设计报告.docx_第4页
第4页 / 共10页
安卓课程设计报告.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

安卓课程设计报告.docx

《安卓课程设计报告.docx》由会员分享,可在线阅读,更多相关《安卓课程设计报告.docx(10页珍藏版)》请在冰豆网上搜索。

安卓课程设计报告.docx

安卓课程设计报告

集团文件发布号:

(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-19882)

 

安卓课程设计报告

《Android平台软件开发》课程设计报告

题目基于安卓的计算标准体重的应用程序

专业计算机科学与技术

学生姓名

学号

二O一六年六月五日

1背景介绍1

2需求分析1

3设计目的2

4技术介绍2

4.1AndroidStudio--开发软件2

4.2java+Android类库+xml2

4.2.1java2

4.2.2xml2

5设计思路2

5.1功能分析2

5.2模块划分2

5.3程序流程图3

6程序实现及代码分析3

6.1用户登录界面3

6.2输入和提交信息程序界面8

6.3显示计算结果程序界面10

7总结12

参考文献13

基于安卓的计算标准体重的应用程序

周超

南京信息工程大学滨江学院计算机系,江苏南京210044

摘要:

本报告主要阐述的是根据身高计算标准体重的应用程序。

本应用程序是以安卓技术、Java开发语和androidstudio开发平台为背景来进行设计的。

本应用程序包含了用户登录功能、背景音乐播放功能和计算标准体重功能。

关键词:

Java;androidstudio;安卓;

1背景介绍

随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,WindowsMobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。

经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。

随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。

因此,移动终端的应用软件和需要的服务将会有很大的发展空间。

Google为此于2007年11月推出了一个专为移动设备设计的软件平台——Android。

Android是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。

Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。

Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。

因此,它具有很大的市场发展潜力。

2需求分析

如今,伴随着GoogleAndroid操作系统的盛行,基于AndroidSDK的系统开发和基于Android应用的开发等已倍受大家关注。

Android应用面向的是普通个体用户,这些用户往往会更加关注用户体验,因此Android应用增加多媒体功能十分必要。

就目前的手机发展趋势来看,手机已经不再是单一的通讯工具,更多的手机用户希望在工作、学习之余通过方便灵巧可随身携带的仪器休闲娱乐。

而且近年来,由于人们生活水平的提高,越来越多的人开始关注人体健康,而体重也成为了人们关注的重点,尤其是女性。

因此为了迎合众多用户的需求并适应现在的手机的规模,我设计了一个计算标准体重的应用程序。

3设计目的

本设计是在学习Android平台软件开发的课程的基础上进行的一次综合实践。

通过本课程设计,让学生们巩固下有关Android平台软件开发的知识,也考查学生们的学习情况。

4技术简介

4.1AndroidStudio--开发软件

AndroidStudio是一个Android开发环境,基于.类似,AndroidStudio提供了集成的Android开发工具用于开发和调试。

4,2java+Android类库+xml--开发语言

4.2.1java

java是在计算机史上影响深远的编程语言,它是一门编程语言,不仅吸收了语言的各种优点,还摒弃了C++里难以理解的、等概念,因此Java语言具有功能强大和简单易用两个特征。

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程[1]。

Java具有简单性、面向对象、、、、平台独立与可移植性、、动态性等特点。

Java可以编写、、和应用程序等。

4.2.1xml

可扩展标记语言XML(eXtensibleMarkupLanguage)是一种简单灵活的文本格式的可扩展标记语言,起源于SGML(StandardGeneralizedMarkupLanguage),是SGML的一个子集合,也就是SGML的一个简化版本,非常适合于在Web上或者其它多种数据源间进行数据的交换。

5设计思路

5.1功能分析

该设计实现了一个可计算输出标准体重功能的应用程序。

根据世界卫生组织推荐的计算标准体重的方法为:

男性标准体重=(身高-80)*0.7;女性标准体重=(身高-70)*0.6”。

因此需要输入的信息有性别、身高。

用户在登录界面里,输入用户名和密码后,点击“登录”按钮,便可进入计算标准体重功能的应用程序。

然后,在该程序中输入对应的信息后,点击“提交”按钮,接着,会跳转到结果界面,显示计算结果。

我还在登录界面中设计了背景音乐播放功能,点击“开启背景音乐”按钮,就会播放音乐;只有点击“关闭播放音乐”按钮,音乐才会停止,否则会一直播放。

5.2模块划分

我设计了三个模块,即三个Activity,分别为用户登录(activity_Login)、输入和提交信息(activity_main)和显示计算结果(activity_result)。

(1)用户登录(activity_Login)模块:

一个图片控件(ImageView)用于加载图片,两个文本框(TextView)分别是用户名和密码,两个编辑框(EditText)用于输入用户名和密码,三个按钮(Button)分别为“登录”、“开启背景音乐”和“关闭播放音乐”,以及一些标题文本。

(2)输入和提交信息(activity_main)模块:

一个图片控件(ImageView)用于加载图片一个RadioGroup组件,三个编辑框(EditText)分别是性别、身高和cm,两个单选框(RadioButton)分别是“男”和“女”,一个“提交”按钮(Button),以及一些标题文本。

(3)显示计算结果(activity_result)模块:

一个图片控件(ImageView)用于加载图片,三个文本框(TextView),以及一些标题文本。

5.3程序流程图

根据以上的分析,可画出相应的程序流程图,如图5-1所示。

图5-1程序流程图

6程序实现及代码分析

6.1用户登录界面

用户登录程序界面(activity_Login)的功能是实现用户登录,并可以开启背景音乐功能。

用户必须输入正确的用户名和密码,才可进入计算标准体重界面,否则,会出现“输入不正确”的提示信息,程序界面如图6-1所示。

图6-1用户登录程序界面

功能代码:

activity_Login.java(实现用户登录功能)

publicclassLoginActivityextendsAppCompatActivity{

privateEditTextname=null;

privateEditTextpassword=null;

Buttonlogin;

privatestaticStringTAG="MusicService";

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

initlizeViews();

login.setOnClickListener(newView.OnClickListener(){

publicvoidonClick(Viewview){

if(name.getText().toString().equals("zc")&&

password.getText().toString().equals("666666")){

Intentintent=newIntent();

startActivity(intent);

Toast.makeText(getApplicationContext(),"正在登录中...",

Toast.LENGTH_SHORT).show();

}

else{

Toast.makeText(getApplicationContext(),"用户名或密码错误!

"

Toast.LENGTH_SHORT).show();

}

}

});

}

privatevoidinitlizeViews(){

OnClickListenerocl=newOnClickListener(){

@Override

publicvoidonClick(Viewv){

//显示指定intent所指的对象是个service

Intentintent=new

Intent(LoginActivity.this,MusicService.class);

switch(v.getId()){

startService(intent);//开启服务

break;

stopService(intent);//停止服务

break;

}

}

};

btnStart.setOnClickListener(ocl);

btnStop.setOnClickListener(ocl);

}

}

MusicService.Java(实现背景音乐播放功能)

publicclassMusicServiceextendsService{

//为日志工具设置标签

privatestaticStringTAG="MusicService";

//定义音乐播放器变量

privateMediaPlayermPlayer;

//该服务不存在需要被创建时被调用,不管startService()还是bindService()都会启动时调用该方法

@Override

publicvoidonCreate(){

//设置可以重复播放

mPlayer.setLooping(true);

super.onCreate();

}

@Override

publicvoidonStart(Intentintent,intstartId){

Toast.makeText(this,"开始播放音乐"

Toast.LENGTH_SHORT).show();

Log.e(TAG,"MusicServiceonStart()");

mPlayer.start();

super.onStart(intent,startId);

}

@Override

publicvoidonDestroy(){

Toast.makeText(this,"停止播放音乐"

Toast.LENGTH_SHORT).show();

Log.e(TAG,"MusicServiceonDestroy()");

mPlayer.stop();

super.onDestroy();

}

//其他对象通过bindService方法通知该Service时该方法被调用

@Override

publicIBinderonBind(Intentintent){

Toast.makeText(this,"MusicServiceonBind()"

Toast.LENGTH_SHORT).show();

Log.e(TAG,"MusicServiceonBind()");

mPlayer.start();

returnnull;

}

//其它对象通过unbindService方法通知该Service时该方法被调用

@Override

publicbooleanonUnbind(Intentintent){

Toast.makeText(this,"MusicServiceonUnbind()"

Toast.LENGTH_SHORT).show();

Log.e(TAG,"MusicServiceonUnbind()");

mPlayer.stop();

returnsuper.onUnbind(intent);

}

}

6.2输入和提交信息程序界面

输入和提交信息程序界面(activity_main)的功能是输入人的性别和身高信息,并提交信息。

用户只有输入的相应的信息,点击“提交”按钮,才会计算出结果,否则,会出现“输入不正确”的提示信息,程序界面如图6-2所示。

图6-2输入和提交信息程序界面

功能代码:

publicclassMainActivityextendsAppCompatActivity{

Buttonsubmit;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

submit.setOnClickListener(newView.OnClickListener(){

publicvoidonClick(Viewview){

Useruser=newUser();

if("".equals(((EditText)findViewById

Toast.makeText(MainActivity.this,

"输入不正确,请重新输入!

",Toast.LENGTH_SHORT).show();

return;

}

intstature=Integer.parseInt(((EditText)findViewById

for(inti=0;i

RadioButtonr=(RadioButton)sex.getChildAt(i);

if(r.isChecked()){

user.setSex(r.getText().toString());

break;

}

}

user.setStature(stature);

Bundlebundle=newBundle();

bundle.putSerializable("user",user);

Intentintent=newIntent(MainActivity.this

ResultActivity.class);

intent.putExtras(bundle);

startActivity(intent);

}

});

}

}

6.3显示计算结果程序界面

显示计算结果程序界面(activity_result)的功能是根据提交过来的信息来进行进行计算,并显示出计算结果和一些标语,程序界面如图6-3所示。

图6-3显示计算结果程序界面

功能代码:

publicclassResultActivityextendsAppCompatActivity

{

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

Intentintent=getIntent();

Bundlebundle=intent.getExtras();

Useruser=(User)bundle.getSerializable("user");

sex.setText("您的性别是:

"+user.getSex()+"性");

stature.setText("您的身高是:

"+user.getStature()+"cm");

weight.setText("标准体重为:

"+getWeight

(user.getSex(),user.getStature())+"公斤");

}

privateStringgetWeight(Stringsex,floatstature)

{

Stringweight="";

NumberFormatformat=newDecimalFormat();

if(sex.equals("男"))

{

weight=format.format((stature-80)*0.7);

}

else

{

weight=format.format((stature-70)*0.6);

}

returnweight;

}

}

7总结

对于这次的课程设计,我的感受是不难,但也不简单,为什么这么说呢。

不难,是由于课程设计要求不高,不少于300行的代码,应用至少由两个Activity类构成,至少需要有一个Service组件和与数据存取相关的功能就可以了;不简单,是因为有关用AndroidStudio作为开发软件的案例和书籍实在是很少,所以还是有点难度。

从确定课程设计内容,到程序设计规划,查找相关资料,具体实施等,在整个过程中,花了不少时间和精力,并且还遇到一些问题。

首先,是在用户登录功能上,我想利用Intent隐式方式打开,但一开始怎么也行不通,后来发现在xml文件中总缺少Intent隐式方式的代码。

接着,我想使用service实现一个背景音乐的功能,但是,在我所借的书籍中有关service的内容本来就少,更不用说有关service的案例了。

因此,我在网上寻找一些有用service实现一个背景音乐功能的关资料,然后选择了一个比较靠谱点的代码,挪用到用户登录界面上来。

经过一番修改和调试,成功实现了背景音乐播放功能。

虽然这程序挺简单的,但是,可以从各个界面的布局和设计看出,我还是花不少心思和精力的。

不管怎么样,都毕竟是自己亲手制作的,虽然有点缺陷,但是,当把它完成的那一刻,我还挺开心的。

总之,通过这次课程设计,我不仅巩固了所学到的知识,而且还学到了一些新知识,可以说是受益匪浅。

参考文献

[1]李刚.疯狂Android讲义(第三版).北京:

电子工业出版社.2015.

[2]丁伟雄.宋晓光.李伟平.Android程序设计与应用.北京:

清华大学出版社.2014.

[3]毋建军.徐振东.林瀚.Android应用开发案例教程.北京:

清华大学出版社.2013.

[4]胡文.金雪松.陈铭.Android嵌入式系统程序开发.北京:

机械工业出版社.2015.

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

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1