jueshimuye |
您所在的位置:网站首页 › BMI体质计算器 › jueshimuye |
任务分析 创建MyBMIApp+学号+姓名首字母缩写,如MyBMIApp01JZY,完成BMI指数计算功能。要求使用Intent视图跳转,即从一个Activity(输入身高体重,图1所示)跳转到第二个Activity(显示计算结果,图2所示。其中bmi值与性别值是从图1中传递过来,并根据bmi值给出体重指数是偏瘦、合适还是偏胖等,以及显示相应的图片(自己各找一张瘦、合适、胖的图片)) 功能描述如下: 完成如图1和2所示的BMI指数计算APP。BMI(Body Mass Index)即身体质量指数,是与体内脂肪总量密切相关的指标,主要反映全身性超重和肥胖。由于BMI计算的是身体脂肪的比例,所以在测量身体因超重而面临心脏病、高血压等风险上,比单纯的以体重来认定,更具准确性。它的计算公式为:体重(kg)除以身高(m)的平方(BMI =公斤/m2)。 体重指数: l 19以下 体重偏低,偏瘦 l 19-25 健康体重,身材正常 l 25-30 超重,偏胖 l 30-39 严重超重,肥胖 l 40及40以上 极度超重,属于严重肥胖 此处提交string文件。要求贴截图,每个键值对命名要带上自己的学号。 注意:项目名为MyBMIApp+学号+姓名首字母缩写,如MyBMIApp01JZY,每个键值对命名要带上自己的学号。 (10.0分)
1.首先已知两个页面,在java中新建一个安卓项目,名称不变Main2Activity(这个作为第二个页面,用作跳转接收信息) 用到相关知识 Intent intent = new Intent(MainActivity.this,Main2Activity.class); //指明从MainActivity页面跳转到Main2Activity页面 intent.putExtra("valuename",value); //传值传递,第一个页面value传到第二个页面,第二个接收的值是valuename startActivity(intent); //启动 intent = getIntent(); //连接传递到本页面的start String str = intent.getStringExtra("valuename"); //定义str存储传递的值2.进行String文件编写 只需要将需要显示的文字,按照格式写入 参考代码: MyBMIApp42ljz BMI指数计算 请输入您的身高(cm) 请输入您的体重(kg) 请选择您的性别 男 女 开始计算 先生 女士 体重偏低,偏瘦 恭喜,您身材合理,很苗条! 超重,偏胖 严重超重,肥胖 极度超重,属于严重肥胖 请输入身高体重 除数不能为03.进行第一个页面布局编辑 (4个文本显示,2个文本输入框,2个单选框,1个按钮再加上简单的布局) 注意:单选框需要放入RadioGroup中,否则两个组件时单独的,无联系 文本输入框中要修改input类型 组件id要修改好,在Java中需要引用,需要分清 参考代码: //文本显示标题 //文本显示 //文本输入 //文本显示 //文本输入 //文本输入显示 //单选框 //单选框 //按钮4.进行第二个页面布局编辑 (只需要一个文本显示,一个图片显示,加简单居中) 参考代码: 5.进行第一个页面java编程 先定义需要用到的组件,在进行与布局组件关联,接下来监控按钮时间,在里面对数值进行计算 最后用到开头的知识,进行数值传递到下一个页面 参考代码: package wjx171142.com; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.Toast; public class MainActivity extends AppCompatActivity { //定义需要用到的组件 private EditText edit_height,edit_weight; private RadioButton rtn_M,rtn_F; private Button btn_sumbit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //进行组件与布局页面组件关联 edit_height = findViewById(R.id.edit_height); edit_weight = findViewById(R.id.edit_weight); rtn_M = findViewById(R.id.rbtn_M); rtn_F = findViewById(R.id.rbtn_F); btn_sumbit = findViewById(R.id.btn_cal); //按钮点击事件监控 btn_sumbit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //获取身高、体重的文本 String height = edit_height.getText().toString().trim(); String weighy = edit_weight.getText().toString().trim(); //定义性别初始为女 String bmisex = getString(R.string.toast_callnameF); //判断性别男按钮点击事件 //如果点击赋值为先生 if (rtn_M.isChecked()){ bmisex = getString(R.string.toast_callnameM); } //判断身高、体重是否为空 if (height.isEmpty()&&weighy.isEmpty()){ Toast.makeText(MainActivity.this, R.string.toast_empty, Toast.LENGTH_SHORT).show(); }else { //转换为小数 double douheight = Double.parseDouble(height); double douweight = Double.parseDouble(weighy); //将身高转换为m douheight *= 0.01; //判断除数(身高)是否为0 if (douheight == 0) { Toast.makeText(MainActivity.this, R.string.toast_zero, Toast.LENGTH_SHORT).show(); } else { double bmivalue = douweight / (douheight * douheight); Intent intent = new Intent(MainActivity.this, Main2Activity.class); intent.putExtra("bmivalue", bmivalue); intent.putExtra("bmisex", bmisex); startActivity(intent); } } } }); } }6.进行第二个页面java编程 先定义需要用到的组件,在进行与布局组件关联,接下来用到开头的知识,进行接收传递到数据,最后修改组件的值 参考代码: package wjx171142.com; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ImageView; import android.widget.TextView; public class Main2Activity extends AppCompatActivity { private TextView title; private ImageView img; private Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); title = findViewById(R.id.txt_out); img = findViewById(R.id.img_out); intent = getIntent(); //接收的double数值需要给一个初始值 double douvalue = intent.getDoubleExtra("bmivalue",0.00); String strsex = intent.getStringExtra("bmisex"); String strout = "",imgout = ""; if (douvalue < 19){ strout = getString(R.string.toast_thin); img.setImageResource(R.drawable.thin); }else if(douvalue >= 19&&douvalue 25&&douvalue = 30&&douvalue = 40){ strout = getString(R.string.toast_fat2); img.setImageResource(R.drawable.fat2); } title.setText(strsex+",您的BMI值="+douvalue+"。"+strout); } }最后加上shape文件 代码参考: 希望能帮助到大家,附上成果图 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |