安卓专业课程设计方案报告完整版文档格式.docx
- 文档编号:16773325
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:15
- 大小:777.76KB
安卓专业课程设计方案报告完整版文档格式.docx
《安卓专业课程设计方案报告完整版文档格式.docx》由会员分享,可在线阅读,更多相关《安卓专业课程设计方案报告完整版文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
本报告重要阐述是依照身高计算原则体重应用程序。
本应用程序是以安卓技术、Java开发语和androidstudio开发平台为背景来进行设计。
本应用程序包括了顾客登录功能、背景音乐播放功能和计算原则体重功能。
核心词:
Java;
androidstudio;
安卓;
1背景简介
随着移动通信与Internet向移动终端普及,网络和顾客对移动终端规定越来越高,而Symbian,Windows
Mobile,PalmOS等手机平台过于封闭,不能较好满足顾客需求,因而市场迫切需要一种开发性很强平台。
通过近年发展,第三代数字通信(3G)技术活动了广泛接受,它为移动终端顾客带来了更快数据传播速率。
随着3G网络使用,移动终端不再仅是通讯网络终端,还将成为互联网终端。
因而,移动终端应用软件和需要服务将会有很大发展空间。
Google为此于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.1java
java是在计算机史上影响深远编程语言,它是一门面向对象编程语言,不但吸取了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)。
(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(实现顾客登录功能)
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"
;
@Override
protectedvoidonCreate(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{
顾客名或密码错误!
"
});
privatevoidinitlizeViews(){
ButtonbtnStart=(Button)findViewById(R.id.btnStart);
ButtonbtnStop=(Button)findViewById(R.id.btnStop);
OnClickListenerocl=newOnClickListener(){
publicvoidonClick(Viewv){
//显示指定intent所指对象是个service
Intentintent=new
Intent(LoginActivity.this,MusicService.class);
switch(v.getId()){
caseR.id.btnStart:
startService(intent);
//启动服务
break;
caseR.id.btnStop:
stopService(intent);
//停止服务
};
btnStart.setOnClickListener(ocl);
btnStop.setOnClickListener(ocl);
}
MusicService.Java(实现背景音乐播放功能)
importandroid.app.Service;
importandroid.media.MediaPlayer;
importandroid.os.IBinder;
importandroid.util.Log;
publicclassMusicServiceextendsService{
//为日记工具设立标签
//定义音乐播放器变量
privateMediaPlayermPlayer;
//该服务不存在需要被创立时被调用,不论startService()还是bindService()都会启动时调用该办法
publicvoidonCreate(){
mPlayer=MediaPlayer.create(getApplicationContext(),R.raw.music);
//设立可以重复播放
mPlayer.setLooping(true);
super.onCreate();
publicvoidonStart(Intentintent,intstartId){
Toast.makeText(this,"
开始播放音乐"
,Toast.LENGTH_SHORT).show();
Log.e(TAG,"
MusicServiceonStart()"
mPlayer.start();
super.onStart(intent,startId);
publicvoidonDestroy(){
停止播放音乐"
MusicServiceonDestroy()"
mPlayer.stop();
super.onDestroy();
//其她对象通过bindService办法告知该Service时该办法被调用
publicIBinderonBind(Intentintent){
MusicServiceonBind()"
returnnull;
//其他对象通过unbindService办法告知该Service时该办法被调用
publicbooleanonUnbind(Intentintent){
MusicServiceonUnbind()"
returnsuper.onUnbind(intent);
6.2输入和提交信息程序界面
输入和提交信息程序界面(activity_main)功能是输入人性别和身高信息,并提交信息。
顾客只有输入相应信息,点击“提交”按钮,才会计算出成果,否则,会浮现“输入不对的”提示信息,程序界面如图6-2所示。
图6-2输入和提交信息程序界面
importandroid.widget.RadioButton;
importandroid.widget.RadioGroup;
importandroid.widget.TextView;
publicclassMainActivityextendsAppCompatActivity{
Buttonsubmit;
setContentView(R.layout.activity_main);
submit=(Button)findViewById(R.id.btnSubmit);
submit.setOnClickListener(newView.OnClickListener(){
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());
user.setStature(stature);
Bundlebundle=newBundle();
bundle.putSerializable("
user"
user);
Intentintent=newIntent(MainActivity.this
ResultActivity.class);
intent.putExtras(bundle);
6.3显示计算成果程序界面
显示计算成果程序界面(activity_result)功能是依照提交过来信息来进行进行计算,并显示出计算成果和某些标语,程序界面如图6-3所示。
图6-3显示计算成果程序界面
importjava.text.DecimalFormat;
importjava.text.NumberFormat;
publicclassResultActivityextendsAppCompatActivity
{
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("
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实现一种背景音乐功能关资料,然后选取了一种比较靠谱点代码,挪用到顾客登录界面上来。
通过一番修改和调试,成功实现了背景音乐播放功能。
虽然这程序挺简朴,但是,可以从各个界面布局和设计看出,我还是花不少心思和精力。
不论怎么样,都毕竟是自己亲手制作,虽然有点缺陷,但是,当把它完毕那一刻,我还挺开心。
总之,通过这次课程设计,我不但巩固了所学到知识,并且还学到了某些新知识,可以说是受益匪浅。
参照文献
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业课程 设计方案 报告 完整版