《Android平台软件开发》课程设计报告题目基于安卓的计算标准体重的应用程序专业计算机科学与技术学生姓名学号二O一六年六月五日目录1背景介绍ﻩ12需求分析ﻩ13设计目的ﻩ24技术介绍ﻩ24.1 Android Studio--开发软件ﻩ24.2 java+Android类库+xml (2)4.2.1 javaﻩ24.2.2xmlﻩ25 设计思路ﻩ25.1功能分析ﻩ25.2模块划分.............................................................. 25.3程序流程图ﻩ36 程序实现及代码分析ﻩ36.1用户登录界面 (3)6.2输入和提交信息程序界面ﻩ86.3显示计算结果程序界面ﻩ107 总结ﻩ12参考文献.................................................................. 13基于安卓的计算标准体重的应用程序周超南京信息工程大学滨江学院计算机系,江苏南京 210044摘要:本报告主要阐述的是根据身高计算标准体重的应用程序。
本应用程序是以安卓技术、Java开发语和androidstudio开发平台为背景来进行设计的。
本应用程序包含了用户登录功能、背景音乐播放功能和计算标准体重功能。
关键词:Java;android studio;安卓;1 背景介绍随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,Windows Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。
经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。
随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。
因此,移动终端的应用软件和需要的服务将会有很大的发展空间。
Google为此于2007年11月推出了一个专为移动设备设计的软件平台——Android。
Android是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。
Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。
Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。
因此,它具有很大的市场发展潜力。
2 需求分析如今,伴随着GoogleAndroid操作系统的盛行,基于Android SDK的系统开发和基于Android应用的开发等已倍受大家关注。
Android应用面向的是普通个体用户,这些用户往往会更加关注用户体验,因此Android应用增加多媒体功能十分必要。
就目前的手机发展趋势来看,手机已经不再是单一的通讯工具,更多的手机用户希望在工作、学习之余通过方便灵巧可随身携带的仪器休闲娱乐。
而且近年来,由于人们生活水平的提高,越来越多的人开始关注人体健康,而体重也成为了人们关注的重点,尤其是女性。
因此为了迎合众多用户的需求并适应现在的手机的规模,我设计了一个计算标准体重的应用程序。
3 设计目的本设计是在学习Android平台软件开发的课程的基础上进行的一次综合实践。
通过本课程设计,让学生们巩固下有关Android平台软件开发的知识,也考查学生们的学习情况。
4 技术简介4.1Android Studio--开发软件Android Studio是一个Android开发环境,基于IntelliJ IDEA. 类似Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
4,2 java+Android类库+xml--开发语言4.2.1 javajava是在计算机史上影响深远的编程语言,它是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程[1] 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
4.2.1 xml可扩展标记语言XML(eXtensibleMarkup Language)是一种简单灵活的文本格式的可扩展标记语言,起源于SGML(Standard Generalized Markup Language),是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(实现用户登录功能)package com.example.zc.myfirstapplication;import android.content.Intent;import android.support.v7.app.AppCompatActivity;importandroid.os.Bundle;import android.widget.Button;import android.widget.EditText;import android.view.View;import android.widget.Toast;importandroid.view.View.OnClickListener;public class LoginActivity extends AppCompatActivity { private EditText name=null;private EditTextpassword=null;Button login;privatestatic String TAG = "MusicService";@Overrideprotected void onCreate(Bundle savedInstanceState) {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(new View.OnClickListener(){public voidonClick(View view) {if (name.getText().toString().equals("zc") &&password.getText().toString().equals("666666")) {Intent intent = new Intent();intent.setAction("com.example.zc.action.LOGIN");startActivity(intent);Toast.makeText(getApplicationContext(), "正在登录中...",Toast.LENGTH_SHORT).show();}else {Toast.makeText(getApplicationContext(), "用户名或密码错误!"Toast.LENGTH_SHORT).show();}}});}privatevoid initlizeViews() {Button btnStart = (Button) findViewById(R.id.btnStart);Button btnStop = (Button) findViewById(R.id.btnStop);OnClickListener ocl = new OnClickListener() {@Overridepublic void onClick(View v) {//显示指定intent所指的对象是个serviceIntent intent = newIntent(LoginActivity.this, Music Service.class);switch (v.getId()) {case R.id.btnStart:startService(intent); //开启服务break;case R.id.btnStop:stopService(intent); //停止服务break;}}};btnStart.setOnClickListener(ocl);btnStop.setOnClickListener(ocl);}}MusicService.Java(实现背景音乐播放功能)packagecom.example.zc.myfirstapplication;import android.app.Service;import android.content.Intent;import android.media.MediaPlayer;importandroid.os.IBinder;import android.util.Log;import android.widget.Toast;public class MusicService extends Service{//为日志工具设置标签private staticString TAG = "MusicService";//定义音乐播放器变量private MediaPlayer mPlayer;//该服务不存在需要被创建时被调用,不管startService()还是bindService()都会启动时调用该方法@Overridepublic void onCreate() {mPlayer = MediaPlayer.create(getApplicationContext(), R.raw.music);//设置可以重复播放mPlayer.setLooping(true);super.onCreate();}@Overridepublic void onStart(Intent intent, int startId){Toast.makeText(this, "开始播放音乐", Toast.LENGTH_SHORT).show();Log.e(TAG, "MusicService onStart()");mPlayer.start();super.onStart(intent, startId);}@Overridepublic void onDestroy() {Toast.makeText(this, "停止播放音乐", Toast.LENGTH_SHORT).show();Log.e(TAG, "MusicService onDestroy()");mPlayer.stop();super.onDestroy();}//其他对象通过bindService 方法通知该Service时该方法被调用@Overridepublic IBinder onBind(Intent intent) {Toast.makeText(this,"MusicServiceonBind()", Toast.LENGTH_SHORT).show();Log.e(TAG, "MusicServiceonBind()");mPlayer.start();return null;}//其它对象通过unbindService方法通知该Service时该方法被调用@Overridepublic boolean onUnbind(Intent intent) {Toast.makeText(this, "MusicServiceonUnbind()", Toast.LENGTH_SHORT).show();Log.e(TAG, "MusicService onUnbind()");mPlayer.stop();return super.onUnbind(intent);}}6.2 输入和提交信息程序界面输入和提交信息程序界面(activity_main)的功能是输入人的性别和身高信息,并提交信息。