简单的基于android的BMI计算应用

来源:互联网 发布:mac系统死机怎么办 编辑:程序博客网 时间:2024/05/14 01:56

写这样的一个程序,纯粹是为了入门,为了练手,为何选择BMI,因为正好手边的书上就是拿这个做例子。。。何况写个BMI总比写个计算器来的简单。。。好这就开始了。

BMI(即身体质量指数,称简体质指数又称体重,英文为Body Mass Index,简称BMI),是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。主要用于统计用途,当我们需要比较及分析一个人的体重对于不同高度的人所带来的健康影响时,BMI值是一个中立而可靠的指标。

1、选择开发工具:

用eclipse+adt+sdk也可以,但是我用的是谷歌的亲儿子:android studio,1.02版本。反正练手,哪个都一样。安装过程在此不再详述。

2、新建项目:

a、选择新建项目


b、填写项目名称

c、选择API版本

d、选择模版

e、填写Activity的名称等信息,点击finish即可

f、工程界面

3、开始编写代码

首先,需要分析下:

主要的控制代码等都是在Activity的文件中编写,包括增加按钮和添加按钮事件等

其次是resources文件夹文件夹下有xml文件,activity的xml涉及到页面的布局,可以在里面增加各式的控件,sting.xml存放用户字段,menu.xml存放菜单的一些内容

resources文件夹下还有drawable文件夹,里面存放应用所使用到的图片素材。

a、应用的设计

如下图,在android studio中有很好的控件拖拽功能,选择所需要的控件拖拽到对应的地点即可。

这里用到了几个textview,edittext和一个button控件。

b、编写计算BMI值的代码

在BMIActivity文件中编写代码

首先需要将控件的值关联过来,这里编写一个findView的方法

    private Button btn_calc;    private EditText et_height;    private EditText et_weight;    private TextView et_suggest;    private void findViews(){        btn_calc = (Button)findViewById(R.id.bt_calculate);        et_height=(EditText)findViewById(R.id.et_height);        et_weight=(EditText)findViewById(R.id.et_weight);        et_suggest=(TextView)findViewById(R.id.tv_suggest);    }
然后添加按钮事件:

private void setListeners(){        btn_calc.setOnClickListener(calcBMI);    }    private OnClickListener calcBMI = new OnClickListener(){        public void onClick(View v)        {            try {                double height = Double.parseDouble(et_height.getText().toString()) / 100;                double weight = Double.parseDouble(et_weight.getText().toString());                double BMI = weight / (height * height);                TextView result = (TextView) findViewById(R.id.tv_result);                result.setText("你的BMI指数为:" + BMI);                if (BMI > 25) {                    et_suggest.setText(R.string.advise_heavy);                    Toast.makeText(BmiActivity.this,R.string.advise_heavy,Toast.LENGTH_SHORT).show();                } else if (BMI < 20) {                    et_suggest.setText(R.string.advise_ligth);                    Toast.makeText(BmiActivity.this,R.string.advise_ligth,Toast.LENGTH_SHORT).show();                } else {                    et_suggest.setText(R.string.advise_average);                    Toast.makeText(BmiActivity.this,R.string.advise_average,Toast.LENGTH_SHORT).show();                }            }catch(Exception obj){                Toast.makeText(BmiActivity.this,R.string.wrong,Toast.LENGTH_SHORT).show();            }        }    };
最后在onCreate方法中加入刚才写的方法

    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_bmi);        findViews();        setListeners();    }
c、运行和调试:

运行可以使用虚拟机,具体虚拟机配置的过程不再此叙述。我这里直接用真机进行测试。

4、运行效果


5、总结

功能很简单,只是一个基础入门,源码后续补上


0 0
原创粉丝点击