<resources>
<string name="app_name">BMI</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_bmi">BMI</string>
<string name="bmi_height">身高 (cm)</string>
<string name="bmi_weight">體重 (kg)</string>
<string name="bmi_calculate">計算 BMI 值</string>
</resources>
2.開啟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>
<resources>
<string name="advice_light">你該多吃點</string>
<string name="advice_average">體型很棒喔</string>
<string name="advice_heavy">你該節食了</string>
</resources>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textHeight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bmi_height" />
<EditText
android:id="@+id/inputHeight"
style="editTextStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textHeight"
android:inputType="number" />
<TextView
android:id="@+id/textWeight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/inputHeight"
android:text="@string/bmi_weight" />
<EditText
android:id="@+id/inputWeight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textWeight"
android:ems="10"
android:inputType="number" />
<Button
android:id="@+id/buttonCalculate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/inputWeight"
android:text="@string/bmi_calculate" />
<TextView
android:id="@+id/textResult"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/buttonCalculate" />
<TextView
android:id="@+id/textSuggest"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textResult" />
</RelativeLayout>
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textHeight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bmi_height" />
<EditText
android:id="@+id/inputHeight"
style="editTextStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textHeight"
android:inputType="number" />
<TextView
android:id="@+id/textWeight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/inputHeight"
android:text="@string/bmi_weight" />
<EditText
android:id="@+id/inputWeight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textWeight"
android:ems="10"
android:inputType="number" />
<Button
android:id="@+id/buttonCalculate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/inputWeight"
android:text="@string/bmi_calculate" />
<TextView
android:id="@+id/textResult"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/buttonCalculate" />
<TextView
android:id="@+id/textSuggest"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textResult" />
</RelativeLayout>
package com.practice.bmi;
import java.text.DecimalFormat;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class BMI extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bmi);
//Listen for button clicks
Button button = (Button)findViewById(R.id.buttonCalculate);
button.setOnClickListener(calcBMI);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_bmi, menu);
return true;
}
private OnClickListener calcBMI = new OnClickListener()
{
public void onClick(View v)
{
DecimalFormat nf = new DecimalFormat("0.00");
EditText fieldheight = (EditText)findViewById(R.id.inputHeight);
EditText fieldweight = (EditText)findViewById(R.id.inputWeight);
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.textResult);
result.setText("Your BMI is " + nf.format(BMI));
//Give health advice
TextView fieldsuggest = (TextView)findViewById(R.id.textSuggest);
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);
}
}
};}
import java.text.DecimalFormat;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class BMI extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bmi);
//Listen for button clicks
Button button = (Button)findViewById(R.id.buttonCalculate);
button.setOnClickListener(calcBMI);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_bmi, menu);
return true;
}
private OnClickListener calcBMI = new OnClickListener()
{
public void onClick(View v)
{
DecimalFormat nf = new DecimalFormat("0.00");
EditText fieldheight = (EditText)findViewById(R.id.inputHeight);
EditText fieldweight = (EditText)findViewById(R.id.inputWeight);
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.textResult);
result.setText("Your BMI is " + nf.format(BMI));
//Give health advice
TextView fieldsuggest = (TextView)findViewById(R.id.textSuggest);
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);
}
}
};}