还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《Android平台软件开发》课程设计报告《Android平台软件开发》课程设计报告题目基于安卓的计算标准体重的应用程序专业计算机科学与技术学生姓名学号二O一六年X月X日目录1背景介绍12需求分析13设计目的24技术介绍
24.1AndroidStudio--开发软件
24.2java+Android类库+xml
24.
2.1java
24.
2.2xml25设计思路
25.1功能分析
25.2模块划分
25.3程序流程图36程序实现及代码分析
36.1用户登录界面
36.2输入和提交信息程序界面
86.3显示计算结果程序界面107总结12参考文献13基于安卓的计算标准体重的应用程序周超南京信息工程大学滨江学院计算机系,江苏南京210044摘要本报告主要阐述的是根据身高计算标准体重的应用程序本应用程序是以安卓技术、Java开发语和androidstudio开发平台为背景来进行设计的本应用程序包含了用户登录功能、背景音乐播放功能和计算标准体重功能关键词Java;androidstudio;安卓;1背景介绍随着移动通信与Inter向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,WindowsMobile,PalmOS等平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台经过多年的开展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端因此,移动终端的应用软件和需要的效劳将会有很大的开展空间Google为此于xx年11月推出了一个专为移动设备设计的软件平台——AndroidAndroid是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其根底上进行开发Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发本钱,还可以是运营商能非常方便地制定自己的特色化的产品因此,它具有很大的市场开展潜力2需求分析如今,伴随着GoogleAndroid操作系统的盛行,基于AndroidSDK的系统开发和基于Android应用的开发等已倍受大家关注Android应用面向的是普通个体用户,这些用户往往会更加关注用户体验,因此Android应用增加多媒体功能十分必要就目前的开展趋势来看,已经不再是单一的通讯工具,更多的用户希望在工作、学习之余通过方便灵巧可随身携带的仪器休闲娱乐而且近年来,由于人们生活水平的提高,越来越多的人开始关注人体健康,而体重也成为了人们关注的重点,尤其是女性因此为了迎合众多用户的需求并适应现在的的规模,我设计了一个计算标准体重的应用程序3设计目的本设计是在学习Android平台软件开发的课程的根底上进行的一次综合实践通过本课程设计,让学生们稳固下有关Android平台软件开发的知识,也考查学生们的学习情况4技术简介
4.1AndroidStudio--开发软件AndroidStudio是一个Android开发环境,基于IntelliJIDEA.类似EclipseADT,AndroidStudio提供了集成的Android开发工具用于开发和调试42java+Android类库+xml--开发语言
4.
2.1javajava是在计算机史上影响深远的编程语言,它是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程
[1]Java具有简单性、面向对象、分布式、健壮性、平安性、平台独立与可移植性、多线程、动态性等特点Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等
4.
2.1xml可扩展标记语言XML(eXtensibleMarkupLanguage)是一种简单灵活的文本格式的可扩展标记语言,起源于SGMLStandardGeneralizedMarkupLanguage,是SGML的一个子集合,也就是SGML的一个简化版本,非常适合于在Web上或者其它多种数据源间进行数据的交换5设计思路
5.1功能分析该设计实现了一个可计算输出标准体重功能的应用程序根据世界卫生组织推荐的计算标准体重的方法为男性标准体重=(身高-80)*
0.7;女性标准体重=(身高-70)*
0.6”因此需要输入的信息有性别、身高用户在登录界面里,输入用户名和密码后,点击“登录”按钮,便可进入计算标准体重功能的应用程序然后,在该程序中输入对应的信息后,点击“提交”按钮,接着,会跳转到结果界面,显示计算结果我还在登录界面中设计了背景音乐播放功能,点击“开启背景音乐”按钮,就会播放音乐;只有点击“关闭播放音乐”按钮,音乐才会停止,否那么会一直播放
5.2模块划分我设计了三个模块,即三个Activity,分别为用户登录(activityLogin)、输入和提交信息(activitymain)和显示计算结果(activityresult)1用户登录(activityLogin)模块一个图片控件(ImageView)用于加载图片,两个文本框(TextView)分别是用户名和密码,两个框(EditText)用于输入用户名和密码,三个按钮(Button)分别为“登录”、“开启背景音乐”和“关闭播放音乐”,以及一些标题文本2输入和提交信息(activitymain)模块一个图片控件(ImageView)用于加载图片一个RadioGroup组件,三个框(EditText)分别是性别、身高和cm两个单项选择框(RadioButton)分别是“男”和“女”,一个“提交”按钮(Button),以及一些标题文本3显示计算结果(activityresult)模块一个图片控件(ImageView)用于加载图片,三个文本框(TextView),以及一些标题文本
5.3程序流程图根据以上的分析,可画出相应的程序流程图,如图5-1所示图5-1程序流程图6程序实现及代码分析
6.1用户登录界面用户登录程序界面(activityLogin)的功能是实现用户登录,并可以开启背景音乐功能用户必须输入正确的用户名和密码,才可进入计算标准体重界面,否那么,会出现“输入不正确”的提示信息,程序界面如图6-1所示图6-1用户登录程序界面功能代码activityLogin.java实现用户登录功能package.example.zc.myfirstapplication;importandroid.content.Intent;importandroid.support.v
7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.widget.Button;importandroid.widget.EditText;importandroid.view.View;importandroid.widget.Toast;importandroid.view.View.OnClickListener;publicclassLoginActivityextendsAppCompatActivity{privateEditTextname=null;privateEditTextpassword=null;Buttonlogin;privatestaticStringTAG=“MusicService“;@OverrideprotectedvoidonCreateBundlesavedInstanceState{super.onCreatesavedInstanceState;setContentViewR.layout.activitylogin;name=EditTextfindViewByIdR.id.edtName;password=EditTextfindViewByIdR.id.edtPassword;login=ButtonfindViewByIdR.id.btnLogin;initlizeViews;login.setOnClickListenernewView.OnClickListener{publicvoidonClickViewview{ifname.getText.toString.equals“zc“password.getText.toString.equals“666666“{Intentintent=newIntent;intent.setAction“.example.zc.action.LOGIN“;startActivityintent;Toast.makeTextgetApplicationContext“正在登录中...“Toast.LENGTHSHORT.show;}else{Toast.makeTextgetApplicationContext“用户名或密码错误!“Toast.LENGTHSHORT.show;}}};}privatevoidinitlizeViews{ButtonbtnStart=ButtonfindViewByIdR.id.btnStart;ButtonbtnStop=ButtonfindViewByIdR.id.btnStop;OnClickListenerocl=newOnClickListener{@OverridepublicvoidonClickViewv{//显示指定intent所指的对象是个serviceIntentintent=newIntentLoginActivity.thisMusicService.class;switchv.getId{caseR.id.btnStart:startServiceintent;//开启效劳break;caseR.id.btnStop:stopServiceintent;//停止效劳break;}}};btnStart.setOnClickListenerocl;btnStop.setOnClickListenerocl;}}MusicService.Java实现背景音乐播放功能package.example.zc.myfirstapplication;importandroid.app.Service;importandroid.content.Intent;importandroid.media.MediaPlayer;importandroid.os.IBinder;importandroid.util.Log;importandroid.widget.Toast;publicclassMusicServiceextendsService{//为日志工具设置标签privatestaticStringTAG=“MusicService“;//定义音乐播放器变量privateMediaPlayermPlayer;//该效劳不存在需要被创立时被调用,不管startService还是bindService都会启动时调用该方法@OverridepublicvoidonCreate{mPlayer=MediaPlayer.creategetApplicationContextR.raw.music;//设置可以重复播放mPlayer.setLoopingtrue;super.onCreate;}@OverridepublicvoidonStartIntentintentintstartId{Toast.makeTextthis“开始播放音乐“Toast.LENGTHSHORT.show;Log.eTAG“MusicServiceonStart“;mPlayer.start;super.onStartintentstartId;}@OverridepublicvoidonDestroy{Toast.makeTextthis“停止播放音乐“Toast.LENGTHSHORT.show;Log.eTAG“MusicServiceonDestroy“;mPlayer.stop;super.onDestroy;}//其他对象通过bindService方法通知该Service时该方法被调用@OverridepublicIBinderonBindIntentintent{Toast.makeTextthis“MusicServiceonBind“Toast.LENGTHSHORT.show;Log.eTAG“MusicServiceonBind“;mPlayer.start;returnnull;}//其它对象通过unbindService方法通知该Service时该方法被调用@OverridepublicbooleanonUnbindIntentintent{Toast.makeTextthis“MusicServiceonUnbind“Toast.LENGTHSHORT.show;Log.eTAG“MusicServiceonUnbind“;mPlayer.stop;returnsuper.onUnbindintent;}}
6.2输入和提交信息程序界面输入和提交信息程序界面(activitymain)的功能是输入人的性别和身高信息,并提交信息用户只有输入的相应的信息,点击“提交”按钮,才会计算出结果,否那么,会出现“输入不正确”的提示信息,程序界面如图6-2所示图6-2输入和提交信息程序界面功能代码package.example.zc.myfirstapplication;importandroid.content.Intent;importandroid.os.Bundle;importandroid.support.v
7.app.AppCompatActivity;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.RadioButton;importandroid.widget.RadioGroup;importandroid.widget.TextView;importandroid.widget.Toast;publicclassMainActivityextendsAppCompatActivity{Buttonsubmit;@OverrideprotectedvoidonCreateBundlesavedInstanceState{super.onCreatesavedInstanceState;setContentViewR.layout.activitymain;submit=ButtonfindViewByIdR.id.btnSubmit;submit.setOnClickListenernewView.OnClickListener{publicvoidonClickViewview{Useruser=newUser;if““.equalsEditTextfindViewByIdR.id.edtStature.getText.toString{Toast.makeTextMainActivity.this“输入不正确,请重新输入!“Toast.LENGTHSHORT.show;return;}intstature=Integer.parseIntEditTextfindViewByIdR.id.edtStature.getText.toString;RadioGroupsex=RadioGroupfindViewByIdR.id.ragSex;forinti=0;i图6-3显示计算结果程序界面功能代码package.example.zc.myfirstapplication;importandroid.content.Intent;importandroid.os.Bundle;importandroid.support.v
7.app.AppCompatActivity;importandroid.view.View;importandroid.widget.Button;importandroid.widget.TextView;importjava.text.DecimalFormat;importjava.text.NumberFormat;publicclassResultActivityextendsAppCompatActivity{protectedvoidonCreateBundlesavedInstanceState{super.onCreatesavedInstanceState;setContentViewR.layout.activityresult;TextViewsex=TextViewfindViewByIdR.id.tvSex;TextViewstature=TextViewfindViewByIdR.id.tvStature;TextViewweight=TextViewfindViewByIdR.id.tvWeight;Intentintent=getIntent;Bundlebundle=intent.getExtras;Useruser=Userbundle.getSerializable“user“;sex.setText“您的性别是“+user.getSex+“性“;stature.setText“您的身高是“+user.getStature+“cm“;weight.setText“标准体重为“+getWeightuser.getSexuser.getStature+“公斤“;}privateStringgetWeightStringsexfloatstature{Stringweight=““;NumberFormatformat=newDecimalFormat;ifsex.equals“男“{weight=format.formatstature-80*
0.7;}else{weight=format.formatstature-70*
0.6;}returnweight;}}7总结对于这次的课程设计,我的感受是不难,但也不简单,为什么这么说呢不难,是由于课程设计要求不高,不少于300行的代码,应用至少由两个Activity类构成,至少需要有一个Service组件和与数据存取相关的功能就可以了;不简单,是因为有关用AndroidStudio作为开发软件的案例和书籍实在是很少,所以还是有点难度从确定课程设计内容,到程序设计规划,查找相关资料,具体实施等,在整个过程中,花了不少时间和精力,并且还遇到一些问题首先,是在用户登录功能上,我想利用Intent隐式方式翻开,但一开始怎么也行不通,后来发现在xml文件中总缺少Intent隐式方式的代码接着,我想使用service实现一个背景音乐的功能,但是,在我所借的书籍中有关service的内容本来就少,更不用说有关service的案例了因此,我在网上寻找一些有用service实现一个背景音乐功能的关资料,然后选择了一个比拟靠谱点的代码,挪用到用户登录界面上来经过一番修改和调试,成功实现了背景音乐播放功能虽然这程序挺简单的,但是,可以从各个界面的布局和设计看出,我还是花不少心思和精力的不管怎么样,都毕竟是自己亲手制作的,虽然有点缺陷,但是,当把它完成的那一刻,我还挺开心的总之,通过这次课程设计,我不仅稳固了所学到的知识,而且还学到了一些新知识,可以说是受益匪浅参考文献
[1]李刚.疯狂Android讲义(第三版).北京电子工业出版社.xx.
[2]丁伟雄.宋晓光.李伟平.Android程序设计与应用.北京清华大学出版社.xx.
[3]毋建军.徐振东.林瀚.Android应用开发案例教程.北京清华大学出版社.xx.
[4]胡文.金雪松.陈铭.Android嵌入式系统程序开发.北京机械工业出版社.xx.模板内容仅供参考 。