安卓课程设计报告完整版_第1页
安卓课程设计报告完整版_第2页
安卓课程设计报告完整版_第3页
安卓课程设计报告完整版_第4页
安卓课程设计报告完整版_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《Android平台软件开发》课程设计报告题目基于安卓的计算标准体重的应用程序专业计算机科学与技术学生姓名学号六月五日目录TOC\o"1-2"\u1背景介绍 12需求分析 13设计目的 24技术介绍 24.1AndroidStudio--开发软件 24.2java+Android类库+xml 24.2.1java 24.2.2xml 25设计思绪 25.1功能分析 25.2模块划分 25.3程序流程图 36程序实现及代码分析 36.1用户登录界面 36.2输入和提交信息程序界面 86.3显示计算结果程序界面 107总结 12参考文献 13基于安卓的计算标准体重的应用程序周超南京信息工程大学滨江学院计算机系,江苏南京210044摘要:本报告重要阐述的是根据身高计算标准体重的应用程序。本应用程序是以安卓技术、Java开发语和androidstudio开发平台为背景来进行设计的。本应用程序包含了用户登录功能、背景音乐播放功能和计算标准体重功能。关键词:Java;androidstudio;安卓;1背景介绍随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的规定越来越高,而Symbian,Windows

Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。通过数年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google为此于2023年11月推出了一个专为移动设备设计的软件平台——Android。

Android是一套真正意义上的开发性的移动设备综合平台,它涉及操作系统、中间件和一些关键的平台应用。Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android平台的开放性等特点既能促进技术(涉及平台自身)的创新,又有助于减少开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。2需求分析如今,随着着Google

Android操作系统的盛行,基于Android

SDK的系统开发和基于Android应用的开发等已倍受大家关注。Android应用面向的是普通个体用户,这些用户往往会更加关注用户体验,因此Android应用增长多媒体功能十分必要。就目前的手机发展趋势来看,手机已经不再是单一的通讯工具,更多的手机用户希望在工作、学习之余通过方便机灵可随身携带的仪器休闲娱乐。

并且近年来,由于人们生活水平的提高,越来越多的人开始关注人体健康,而体重也成为了人们关注的重点,特别是女性。因此为了迎合众多用户的需求并适应现在的手机的规模,我设计了一个计算标准体重的应用程序。3设计目的本设计是在学习Android平台软件开发的课程的基础上进行的一次综合实践。通过本课程设计,让学生们巩固下有关Android平台软件开发的知识,也考察学生们的学习情况。4技术简介4.1AndroidStudio--开发软件AndroidStudio是一个Android开发环境,基于IntelliJIDEA.类似EclipseADT,AndroidStudio提供了集成的Android开发工具用于开发和调试。4,2java+Android类库+xml--开发语言4.2.1javajava是在计算机史上影响深远的编程语言,它是一门面向对象编程语言,不仅吸取了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简朴易用两个特性。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程[1]

。Java具有简朴性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。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)。用户登录(activity_Login)模块:一个图片控件(ImageView)用于加载图片,两个文本框(TextView)分别是用户名和密码,两个编辑框(EditText)用于输入用户名和密码,三个按钮(Button)分别为“登录”、“启动背景音乐”和“关闭播放音乐”,以及一些标题文本。输入和提交信息(activity_main)模块:一个图片控件(ImageView)用于加载图片一个RadioGroup组件,三个编辑框(EditText)分别是性别、身高和cm,两个单选框(RadioButton)分别是“男”和“女”,一个“提交”按钮(Button),以及一些标题文本。显示计算结果(activity_result)模块:一个图片控件(ImageView)用于加载图片,三个文本框(TextView),以及一些标题文本。5.3程序流程图根据以上的分析,可画出相应的程序流程图,如图5-1所示。图5-1程序流程图6程序实现及代码分析6.1用户登录界面用户登录程序界面(activity_Login)的功能是实现用户登录,并可以启动背景音乐功能。用户必须输入对的的用户名和密码,才可进入计算标准体重界面,否则,会出现“输入不对的”的提醒信息,程序界面如图6-1所示。图6-1用户登录程序界面功能代码:activity_Login.java(实现用户登录功能)packagecom.example.zc.myfirstapplication;importandroid.content.Intent;importandroid.support.v7.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";@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);name=(EditText)findViewById(R.id.edtName);password=(EditText)findViewById(R.id.edtPassword);login=(Button)findViewById(R.id.btnLogin);initlizeViews();login.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewview){if(name.getText().toString().equals("zc")&&password.getText().toString().equals("666666")){Intentintent=newIntent();intent.setAction("com.example.zc.action.LOGIN");startActivity(intent);Toast.makeText(getApplicationContext(),"正在登录中...",Toast.LENGTH_SHORT).show();}else{Toast.makeText(getApplicationContext(),"用户名或密码错误!"Toast.LENGTH_SHORT).show();}}});}privatevoidinitlizeViews(){ButtonbtnStart=(Button)findViewById(R.id.btnStart);ButtonbtnStop=(Button)findViewById(R.id.btnStop);OnClickListenerocl=newOnClickListener(){@OverridepublicvoidonClick(Viewv){//显示指定intent所指的对象是个serviceIntentintent=newIntent(LoginActivity.this,MusicService.class);switch(v.getId()){caseR.id.btnStart:startService(intent);//启动服务break;caseR.id.btnStop:stopService(intent);//停止服务break;}}};btnStart.setOnClickListener(ocl);btnStop.setOnClickListener(ocl);}}MusicService.Java(实现背景音乐播放功能)packagecom.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.create(getApplicationContext(),R.raw.music);//设立可以反复播放mPlayer.setLooping(true);super.onCreate();}@OverridepublicvoidonStart(Intentintent,intstartId){Toast.makeText(this,"开始播放音乐",Toast.LENGTH_SHORT).show();Log.e(TAG,"MusicServiceonStart()");mPlayer.start();super.onStart(intent,startId);}@OverridepublicvoidonDestroy(){Toast.makeText(this,"停止播放音乐",Toast.LENGTH_SHORT).show();Log.e(TAG,"MusicServiceonDestroy()");mPlayer.stop();super.onDestroy();}//其他对象通过bindService方法告知该Service时该方法被调用@OverridepublicIBinderonBind(Intentintent){Toast.makeText(this,"MusicServiceonBind()",Toast.LENGTH_SHORT).show();Log.e(TAG,"MusicServiceonBind()");mPlayer.start();returnnull;}//其它对象通过unbindService方法告知该Service时该方法被调用@OverridepublicbooleanonUnbind(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输入和提交信息程序界面功能代码:packagecom.example.zc.myfirstapplication;importandroid.content.Intent;importandroid.os.Bundle;importandroid.support.v7.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;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);submit=(Button)findViewById(R.id.btnSubmit);submit.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewview){Useruser=newUser();if("".equals(((EditText)findViewById(R.id.edtStature)).getText().toString())){Toast.makeText(MainActivity.this,"输入不对的,请重新输入!",Toast.LENGTH_SHORT).show();return;}intstature=Integer.parseInt(((EditText)findViewById(R.id.edtStature)).getText().toString());RadioGroupsex=(RadioGroup)findViewById(R.id.ragSex);for(inti=0;i<sex.getChildCount();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显示计算结果程序界面功能代码:packagecom.example.zc.myfirstapplication;importandroid.content.Intent;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;importandroid.view.View;importandroid.widget.Button;importandroid.widget.TextView;importjava.text.DecimalFormat;importjava.text.NumberFormat;publicclassResultActivityextendsAppCompatActivity{protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_result);TextViewsex=(TextView)findViewById(R.id.tvSex);TextViewstature=(TextView)findViewById(R.id.tvStature);TextViewweight=(TextView)findViewById(R.id.tvWeight);Intentintent=getIntent();Bundlebundle=intent.getExtras();Useruser=(User)bundle.getSerializable("user");sex.setText("您的性别是:"+user.getSex()+"性");stature.setText("您的身高是:"+user.getStature()+"cm");weight.setText("标准体重为:"+getWeight

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论