2015年5月29日 星期五

Eclipse BMI

1.開啟 strings.xml ,替換以下程式碼

<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>

3.開啟activity_bmi.xml,替換以下程式碼

<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>


4.開啟BMI.java,替換以下程式碼

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);
          }
       }
    };
}





沒有留言:

張貼留言