Android开发-身高体重指数(BIM)计算-完成BMI程序
Android开发--身高体重指数(BIM)计算--完成BMI程序
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:修改表达用户界面
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:修改表达用户界面
* 作 者: 雷恒鑫
* 完成日期: 2012 年 08 月 7 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
以下是完整的BMI程序:
Bmi.java
package com.demo.android.bmi; import java.text.DecimalFormat; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class Bmi extends Activity { /** * Called when the activity is first created. * * @param <calcBMI> */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Listen for button clicks Button button = (Button) findViewById(R.id.submit); button.setOnClickListener(calcBMI); } private OnClickListener calcBMI = new OnClickListener() { public void onClick(View v) { DecimalFormat nf = new DecimalFormat("0.00"); EditText fieldheight = (EditText) findViewById(R.id.height); EditText fieldweight = (EditText) findViewById(R.id.weight); double height = Double .parseDouble(fieldheight.getText().toString()) / 100; double weight = Double .parseDouble(fieldweight.getText().toString()); double BMI = weight / (height * height); TextView result = (TextView) findViewById(R.id.result); result.setText("Your BMI is " + nf.format(BMI)); // Give health advice TextView fieldsuggest = (TextView) findViewById(R.id.suggest); if (BMI > 25) { fieldsuggest.setText(R.string.advice_heavy); } else if (BMI < 20) { fieldsuggest.setText(R.string.advice_light); } else { fieldsuggest.setText(R.string.advice_average); } } }; }
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/height"
/>
<EditText android:id="@+id/height"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:numeric="integer"
android:text=""
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/weight"
/>
<EditText android:id="@+id/weight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:numeric="integer"
android:text=""
/>
<Button android:id="@+id/submit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/bmi_btn"
/>
<TextView android:id="@+id/result"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""
/>
<TextView android:id="@+id/suggest"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""
/>
</LinearLayout>
advice.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="advice_light">你该多吃点,身体是革命的本钱哈。</string>
<string name="advice_average">体型很棒哦,继续保持。</string>
<string name="advice_heavy">你该节食了,呵呵。</string>
</resources>
strings.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">BIM</string> <string name="height">身高(cm)</string> <string name="weight">体重(kg)</string> <string name="bmi_btn">计算 BMI 值</string> <string name="bmi_result">您的 BIM 值是:</string> </resources>
运行结果:
经验积累:
1.BMI应用程序的算法和C++的算法差不多。
2.我知道了运算的时候是如何调用系统函数的。
3.我学会了如何声明一个Button实体。