1、strings.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 4 <string name="app_name">BMI</string> 5 <string name="height">身高(cm)</string> 6 <string name="weight">体重(kg)</string> 7 <string name="bmi_btn">计算BMI值</string> 8 <string name="bmi_result">你的BMI值是</string> 9 <string name="about_title">关于Android BMI</string> 10 <string name="about_msg">Android BMI Calc\n 11 作者 lovemu\n\n 12 lovemu+android[at]gmail.com</string> 13 <string name="ok_label">确认</string> 14 <string name="hello_world">Hello world!</string> 15 <string name="menu_settings">Settings</string> 16 17 </resources>
2、MainActivity.java
1 package example.bmi; 2 3 import java.text.DecimalFormat; 4 5 import android.os.Bundle; 6 import android.app.Activity; 7 import android.app.AlertDialog; 8 import android.content.DialogInterface; 9 import android.view.Menu; 10 import android.view.View; 11 import android.view.View.OnClickListener; 12 import android.widget.Button; 13 import android.widget.EditText; 14 import android.widget.TextView; 15 16 public class MainActivity extends Activity { 17 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.activity_main); 22 23 findViews(); 24 setListensers(); 25 } 26 private Button button_calc; 27 private EditText field_height; 28 private EditText field_weight; 29 private TextView view_result; 30 private TextView view_suggest; 31 private void findViews() 32 { 33 button_calc=(Button)findViewById(R.id.submit); 34 field_height=(EditText)findViewById(R.id.height); 35 field_weight=(EditText)findViewById(R.id.weight); 36 view_result=(TextView)findViewById(R.id.result); 37 view_suggest=(TextView)findViewById(R.id.suggest); 38 } 39 private void setListensers() 40 { 41 button_calc.setOnClickListener(calcBMI); 42 } 43 private Button.OnClickListener calcBMI=new Button.OnClickListener() 44 { 45 public void onClick(View v) 46 { 47 DecimalFormat nf=new DecimalFormat("0.00"); 48 double height=Double.parseDouble(field_height.getText().toString())/100; 49 double weight=Double.parseDouble(field_weight.getText().toString()); 50 double BMI=weight/(height*height); 51 view_result.setText(getText(R.string.bmi_result)+nf.format(BMI)); 52 //give health advice 53 if(BMI>25) 54 { 55 view_suggest.setText(R.string.advice_heavy); 56 } 57 else if(BMI<20) 58 { 59 view_suggest.setText(R.string.advice_light); 60 } 61 else 62 { 63 view_suggest.setText(R.string.advice_average); 64 } 65 openOptionsDialog(); 66 } 67 }; 68 private void openOptionsDialog() 69 { 70 new AlertDialog.Builder(MainActivity.this) 71 .setTitle(R.string.about_title) 72 .setMessage(R.string.about_msg) 73 .setPositiveButton(R.string.ok_label, 74 new DialogInterface.OnClickListener() { 75 public void onClick( 76 DialogInterface dialoginterface,int i){ 77 } 78 79 }) 80 .show(); 81 } 82 83 @Override 84 public boolean onCreateOptionsMenu(Menu menu) { 85 // Inflate the menu; this adds items to the action bar if it is present. 86 getMenuInflater().inflate(R.menu.activity_main, menu); 87 return true; 88 } 89 90 }