android学习:学着写的BMI代码
2011-01-14 01:20
267 查看
package com.demo.android.bmi;
import java.text.DecimalFormat;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.View.OnClickListener;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Bmi extends Activity {
/** Called when the activity is first created. */
private Button button_calc;
private EditText field_height;
private EditText field_weight;
private TextView view_result;
private TextView view_suggest;
protected static final int MENU_ABOUT=Menu.FIRST;
protected static final int MENU_QUIT=Menu.FIRST+1;
protected static final int TIPS=Menu.FIRST+2;
@Override
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
menu.add(0,MENU_ABOUT,0,"关于...(A)")
.setIcon(android.R.drawable.ic_menu_help)
.setAlphabeticShortcut('A');
menu.add(0,MENU_QUIT,0,"结束(Q)")
.setIcon(android.R.drawable.ic_menu_close_clear_cancel)
.setAlphabeticShortcut('Q');
menu.add(0,TIPS,0,"提示")
.setIcon(R.drawable.icon_128);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case MENU_ABOUT:
openOptionsDialog();
break;
case MENU_QUIT:
finish();
break;
case TIPS:
Toast.makeText(Bmi.this, "提示信息", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
private void openOptionsDialog() {
// TODO Auto-generated method stub
//Toast.makeText(Bmi.this, "BMI 计算", Toast.LENGTH_SHORT).show();
new AlertDialog.Builder(Bmi.this)
.setTitle(R.string.about_title)
.setMessage(R.string.about_msg)
.setNegativeButton(R.string.homepage, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int i) {
try{
Uri uri=Uri.parse(getString(R.string.url));
Intent intent =new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
}catch(Exception e){
}
}
})
.setPositiveButton(R.string.ok_lable,new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int i) {}
})
.show();
}
@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);
findViews();
setListeners();
}
private void findViews() {
// TODO Auto-generated method stub
button_calc = (Button) findViewById(R.id.submit);
field_height = (EditText) findViewById(R.id.height);
field_weight = (EditText) findViewById(R.id.weight);
view_result = (TextView) findViewById(R.id.result);
view_suggest = (TextView) findViewById(R.id.suggest);
}
private void setListeners() {
// TODO Auto-generated method stub
button_calc.setOnClickListener(calcBMI);
}
private Button.OnClickListener calcBMI = new Button.OnClickListener() {
public void onClick(View v) {
DecimalFormat nf = new DecimalFormat("0.00");
try {
double height = Double.parseDouble(field_height.getText()
.toString()) / 100;
double weight = Double.parseDouble(field_weight.getText()
.toString());
double BMI = weight / (height * height);
view_result.setText("YourBMI is " + nf.format(BMI));
// Give health advice
if (BMI > 25) {
view_suggest.setText(R.string.advice_heavy);
} else if (BMI < 20) {
view_suggest.setText(R.string.advice_light);
} else {
view_suggest.setText(R.string.advice_average);
}
// openOptionsDialog();
} catch (Exception e) {
view_result.setText("");
view_suggest.setText("");
Toast.makeText(Bmi.this, "打错了吧?", Toast.LENGTH_SHORT).show();
}
}
};
}
import java.text.DecimalFormat;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.View.OnClickListener;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Bmi extends Activity {
/** Called when the activity is first created. */
private Button button_calc;
private EditText field_height;
private EditText field_weight;
private TextView view_result;
private TextView view_suggest;
protected static final int MENU_ABOUT=Menu.FIRST;
protected static final int MENU_QUIT=Menu.FIRST+1;
protected static final int TIPS=Menu.FIRST+2;
@Override
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
menu.add(0,MENU_ABOUT,0,"关于...(A)")
.setIcon(android.R.drawable.ic_menu_help)
.setAlphabeticShortcut('A');
menu.add(0,MENU_QUIT,0,"结束(Q)")
.setIcon(android.R.drawable.ic_menu_close_clear_cancel)
.setAlphabeticShortcut('Q');
menu.add(0,TIPS,0,"提示")
.setIcon(R.drawable.icon_128);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case MENU_ABOUT:
openOptionsDialog();
break;
case MENU_QUIT:
finish();
break;
case TIPS:
Toast.makeText(Bmi.this, "提示信息", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
private void openOptionsDialog() {
// TODO Auto-generated method stub
//Toast.makeText(Bmi.this, "BMI 计算", Toast.LENGTH_SHORT).show();
new AlertDialog.Builder(Bmi.this)
.setTitle(R.string.about_title)
.setMessage(R.string.about_msg)
.setNegativeButton(R.string.homepage, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int i) {
try{
Uri uri=Uri.parse(getString(R.string.url));
Intent intent =new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
}catch(Exception e){
}
}
})
.setPositiveButton(R.string.ok_lable,new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int i) {}
})
.show();
}
@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);
findViews();
setListeners();
}
private void findViews() {
// TODO Auto-generated method stub
button_calc = (Button) findViewById(R.id.submit);
field_height = (EditText) findViewById(R.id.height);
field_weight = (EditText) findViewById(R.id.weight);
view_result = (TextView) findViewById(R.id.result);
view_suggest = (TextView) findViewById(R.id.suggest);
}
private void setListeners() {
// TODO Auto-generated method stub
button_calc.setOnClickListener(calcBMI);
}
private Button.OnClickListener calcBMI = new Button.OnClickListener() {
public void onClick(View v) {
DecimalFormat nf = new DecimalFormat("0.00");
try {
double height = Double.parseDouble(field_height.getText()
.toString()) / 100;
double weight = Double.parseDouble(field_weight.getText()
.toString());
double BMI = weight / (height * height);
view_result.setText("YourBMI is " + nf.format(BMI));
// Give health advice
if (BMI > 25) {
view_suggest.setText(R.string.advice_heavy);
} else if (BMI < 20) {
view_suggest.setText(R.string.advice_light);
} else {
view_suggest.setText(R.string.advice_average);
}
// openOptionsDialog();
} catch (Exception e) {
view_result.setText("");
view_suggest.setText("");
Toast.makeText(Bmi.this, "打错了吧?", Toast.LENGTH_SHORT).show();
}
}
};
}
相关文章推荐
- android ARM 汇编学习—— 在 android 设备上编译c/cpp代码并用objdump/readelf等工具分析
- Android 学习笔记——利用JNI技术在Android中调用、调试C++代码
- 【第一行代码-Android】学习(一)及在studio的迁移(4)intent学习
- Android Native 代码NDK开发学习笔记
- 动画代码Android动画学习笔记动画代码
- JIN学习一、Android使用已有C/C++代码、第三方SO库的方法
- 从零开始--系统深入学习android(实践-让我们开始写代码-Android框架学习-7.通知)
- Android C2DM学习——服务器端代码开发
- Weli的Android学习日记 0.4关于String.xml转义与一些零散的代码
- Android SQLite数据库使用 学习与代码实践
- Android通过用代码画虚线椭圆边框背景来学习一下shape的用法
- Android学习第四课:Java代码实现XML布局
- Android代码混淆工具Proguard学习
- Android学习第十七天----从网络上获取html代码
- Android代码混淆学习
- 第一行代码-Android 学习笔记(一)
- Android使用已有C/C++代码、第三方SO库的方法(JIN学习)
- 第二行代码学习笔记——第一章:开始启程——你的第一行Android代码
- Androidx学习笔记(67)--- 使用代码注册广播接收者(实现屏幕锁屏和解锁)
- Android学习之 有关图片缓存问提的代码封装<二>