Android身体健康指标BMI项目实现文档格式.docx

上传人:b****5 文档编号:20470977 上传时间:2023-01-23 格式:DOCX 页数:16 大小:916.92KB
下载 相关 举报
Android身体健康指标BMI项目实现文档格式.docx_第1页
第1页 / 共16页
Android身体健康指标BMI项目实现文档格式.docx_第2页
第2页 / 共16页
Android身体健康指标BMI项目实现文档格式.docx_第3页
第3页 / 共16页
Android身体健康指标BMI项目实现文档格式.docx_第4页
第4页 / 共16页
Android身体健康指标BMI项目实现文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Android身体健康指标BMI项目实现文档格式.docx

《Android身体健康指标BMI项目实现文档格式.docx》由会员分享,可在线阅读,更多相关《Android身体健康指标BMI项目实现文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

Android身体健康指标BMI项目实现文档格式.docx

BMI1,如下

在项目“BMI1”->

“res”->

“values”->

“strings.xml”中添加字符串,用于界面显示

编辑layout文件夹下的“main.xml”界面,如下

双击设计视图中的任意控件进入“main.xml”中修改控件的xml代码。

代码如下:

<

?

xmlversion="

1.0"

encoding="

utf-8"

>

LinearLayoutxmlns:

android="

android:

layout_width="

fill_parent"

layout_height="

orientation="

vertical"

>

<

TextView

wrap_content"

text="

@string/hello"

/>

 

id="

@+id/textView1"

@string/bmi_height"

textAppearance="

android:

attr/textAppearanceLarge"

EditText

@+id/height"

ems="

10"

requestFocus/>

/EditText>

@+id/textView2"

@string/bmi_weight"

@+id/weight"

Button

@+id/submit"

@string/bmi_button"

@+id/result"

LargeText"

@+id/suggest"

/LinearLayout>

进入图片中的BMI1Activity.java为程序添加代码

BMI1Activity.java代码

packageWU.android.bmi;

importjava.text.DecimalFormat;

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.EditText;

importandroid.widget.TextView;

publicclassBMI1ActivityextendsActivity{

/**Calledwhentheactivityisfirstcreated.*/

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Buttonbutton=(Button)findViewById(R.id.submit);

button.setOnClickListener(calcBMI);

}

OnClickListenercalcBMI=newOnClickListener(){

publicvoidonClick(Viewv){

EditTextfieldHeight=(EditText)findViewById(R.id.height);

EditTextfieldWeight=(EditText)findViewById(R.id.weight);

doubleheight=Double.parseDouble(fieldHeight.getText().toString())/100;

doubleweight=Double.parseDouble(fieldWeight.getText().toString());

doubleBMI=weight/(height*height);

DecimalFormatnf=newDecimalFormat("

0.00"

);

TextViewshow=(TextView)findViewById(R.id.result);

show.setText("

你的BMI值是"

+nf.format(BMI));

TextViewfieldsuggest=(TextView)findViewById(R.id.suggest);

if(BMI>

25){

fieldsuggest.setText(R.string.advice_heavy);

}

elseif(BMI<

20){

fieldsuggest.setText(R.string.advice_light);

else

fieldsuggest.setText(R.string.advice_average);

}

};

}运行结果:

出入身高和体重,点击Button计算BMI的值

2、实现一个优化后、支持单选项菜和对话框的、单Activity的BMI项目

相关代码:

Menu相关代码:

protectedstaticfinalintMENU_ABOUT=Menu.FIRST;

protectedstaticfinalintMENU_QUIT=Menu.FIRST+1;

publicbooleanonCreateOptionsMenu(Menumenu){//Menu相关方法

//TODOAuto-generatedmethodstub

menu.add(0,MENU_ABOUT,0,"

关于....."

).setIcon(android.R.drawable.ic_menu_help);

menu.add(0,MENU_QUIT,Menu.NONE,"

结束"

).setIcon(android.R.drawable.ic_menu_close_clear_cancel);

returnsuper.onCreateOptionsMenu(menu);

publicbooleanonOptionsItemSelected(MenuItemitem){//Menu相关方法

switch(item.getItemId()){//修改onOptionsItemSelected

caseMENU_ABOUT:

openOptionsDialog();

break;

caseMENU_QUIT:

finish();

returnsuper.onOptionsItemSelected(item);

将findViewById独立:

privateButtonbutton_calc;

privateTextViewview_result;

privateTextViewview_suggest;

privatevoidfindViews(){

button_calc=(Button)findViewById(R.id.submit);

view_result=(TextView)findViewById(R.id.result);

view_suggest=(TextView)findViewById(R.id.suggest);

将setOnClickListener独立:

privatevoidsetListeners(){

button_calc.setOnClickListener(calcBMI);

对话框程序:

privatevoidopenOptionsDialog(){

newAlertDialog.Builder(BMI2.this).setTitle("

关于AndroidBMI"

.setMessage("

AndroidBMIcalc"

)//使用匿名的对话框对象

.setPositiveButton("

确认"

newDialogInterface.OnClickListener(){//加入对话框按钮

publicvoidonClick(DialogInterfacedialog,intwhich){

Uriuri=Uri.parse("

tel:

12345678"

Intentintent=newIntent(Intent.ACTION_DIAL,uri);

startActivity(intent);

}

}).show();

}

按Android虚拟机中的“MENU”按钮,在虚拟机的显示屏区下方出现菜单。

计算BMI值或者按菜单中的“关于…”后,会弹出一个“关于AndroidBMI”的对话框。

按上面“关于AndroidBMI”的对话框的“确认”后,会自动跳转到拨号界面

3、实现一个支持多Activity的BMI项目

创建新项目BMI2,如下

添加一个类

android.app.Activity

在“layout”中新建“report.xml”,用于输出结果和建议。

在AndroidManifest.xml加入新Activity描述。

activityandroid:

name="

Report"

/activity>

BMI2.JAVA代码:

importandroid.app.AlertDialog;

importandroid.content.DialogInterface;

importandroid.content.Intent;

import.Uri;

importandroid.view.Menu;

importandroid.view.MenuItem;

publicclassBMI2extendsActivity{

button.setOnClickListener(calcBMI);

Intentintent=newIntent();

intent.setClass(BMI2.this,Report.class);

Bundlebundle=newBundle();

bundle.putString("

HEIGHT"

fieldHeight.getText().toString());

WEIGHT"

fieldWeight.getText().toString());

startActivity(intent);

};

Report.JAVA代码:

publicclassReportextendsActivity{

protectedvoidonCreate(BundlesavedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.report);

showResults();

privatevoidshowResults(){

Bundlereceive=this.getIntent().getExtras();

Doubleheight=Double.parseDouble(receive.getString("

))/100;

doubleweight=Double.parseDouble(receive.getString("

));

doubleBMI=weight/(height*height);

DecimalFormatnf=newDecimalFormat("

TextViewfieldsuggest=(TextView)findViewById(R.id.suggest);

fieldsuggest.setText(getText(R.string.result)+nf.format(BMI));

if(BMI>

fieldsuggest.setText(R.string.advice_light);

elseif(BMI<

fieldsuggest.setText(R.string.advice_heavy);

else

fieldsuggest.setText(R.string.advice_average);

运行结果:

点击“计算BMI的值”,跳转到第二页

点击“返回”,跳转到第一页。

五、实验心得与小结

本次实验实现一个身体健康指标计算的Android程序,分三个阶段完善。

通过该实验,我掌握了简单的Android开发,了解了选项菜单、对话框、多Activity等各种简单控件的使用。

第一个阶段:

此时要求比较简单,只要写一个普通的BMI程序,要注意的是控件的Id的设置要准确,否则程序会出错,值传递会出现问题。

做好每一步都要记得保存,如果没保存,可能在另外一个控件操作时可能会没反应。

第二个阶段:

此阶段实验要在原来的BMI程序中加上选项菜单和对话框,难度有所增加,同时也更加富有乐趣。

图标可以自定义,选择自己喜欢的图标加在程序中,让做程序也成为了一种快乐。

按下按钮若程序没有发生跳转,则要注意按钮事件是否定义正确。

第三个阶段:

实现多Activity相对来说步骤比较多,只要仔细执行各个步骤,也不是难点。

要返回“上一页”的“onClickBack()”方法定义好后,不能忘了要在控件的“Onclick”属性处进行修改,否则会发生点击“上一页”没有返回的错误。

另外,点击“上一页”返回只是表观现象,实则是把Report.java这个Activity的页面关闭,显示出第一页的页面内容。

六、指导教师评议

成绩评定:

指导教师签名:

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

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

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

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