目标:开发一款体质指数计算器,实现输入身高体重即可判断体型是否正常

知识点:Activity;布局;基本组件的使用

BMI是体质指数,公认的一种评定个人体质肥胖程度的分级方法,具体的计算方法是以体重除以身高的平方公式如下

体质指数(BMI)=体重(kg)/身高(m)^2

实现BMI需要用户输入身高体重,并点击计算按钮,显示结果,使用EditText实现用户身高的输入,使用textview将结果输出,主要练习android基本控件的使用,Textview是静态的文本空间,用于显示文字,可以在布局文件或者代码中设置显示内容,EditText是用于和用户交互的一个控件,接收用户的输入。

BMI界面设计

资源文件夹layout下的xml文件为设计界面的文件,BMI使用LinearLayout线性布局,界面设计代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/content_main"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"app:layout_behavior="@string/appbar_scrolling_view_behavior"tools:showIn="@layout/activity_main"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="身高(厘米):" /><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/height"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="体重(公斤):"/><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/weight"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="计算体质指数"android:id="@+id/calButton"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/resText"/>
</LinearLayout>

BMI功能实现 

一个Activity控制一个界面,项目的src下存放界面功能实现的代码,需要继承Activity类,首先在类中声明我们要使用的控件变量,要声明两个Edittext用于接收用户身高和体重的输入,设置Button类型的变量代表计算按钮,一个Textview类型变量用于显示结果,这些都是控件类型的变量,功能实现代码要和界面联系起来,首先我们要确定这个Activity要控制和显示的界面是哪一个,通过setContentView()把我们之前设计好的界面和这个Activity绑定起来,同样也要把刚刚定义的控件类型的变量和界面中设计的控件对应起来,这样在代码中实现功能的时候才能同时对界面中的控件进行改变:

private Button calButton;private EditText heightText,weightText;private TextView resText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);        //加载要显示的界面setSupportActionBar(toolbar);FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);fab.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show();}});calButton = (Button)findViewById(R.id.calButton); //变量与控件的绑定heightText = (EditText) findViewById(R.id.height);weightText = (EditText) findViewById(R.id.weight);resText = (TextView) findViewById(R.id.resText);calButton.setOnClickListener(new ButtonClickListener());}

对于按钮要设置一个动作监听,当被点击时触发事件,按钮的触发事件写在ButtonClickListener类中,类实现了onclickListener接口,按钮被点击后首先获取用户输入的身高体重数据,判断数据的合法性,然后按照BMI公式计算体质指数,将结果显示到Textview中

使用getText().toString()方法获取EditText中输入的内容,getText()返回的是一个CharSequence的接口,所以要获得输入的字符串需要加上toString(),再将字符串变为数字进行运算,使用Textview.setText()方法设置结果显示:

class ButtonClickListener implements View.OnClickListener{@Overridepublic void onClick(View v) {if(v.getId() == R.id.calButton){String height = heightText.getText().toString();String weight = weightText.getText().toString();double res = 0,heightNum = 0,weightNum = 0;if(!height.isEmpty()&&!weight.isEmpty()) {heightNum = Double.parseDouble(height);weightNum = Double.parseDouble(weight);res = weightNum/heightNum;if(res<18.5)resText.setText(R.string.thin);else if(res>24.5)resText.setText(R.string.fat);else resText.setText(R.string.normal);}else Toast.makeText(MainActivity.this,"输入有误!",Toast.LENGTH_SHORT).show();}}}

此时所有的功能已经编写完成,点击运行即可,项目下载:链接: https://pan.baidu.com/s/1nvupS4D 密码: vev2

Android入门项目(一):BMI体质指数计算器相关推荐

  1. Android入门项目:关于BMI体质指数计算器

    目标:开发一款BMI体质指数计算器.用户在主界面中输入身高和体重,单击"计算BMI值"按钮后,在界面二通过TextView显示相应的结论:界面二点击返回能够回到主界面. 体质指数与 ...

  2. 用android做体质计算器,Android入门项目(一):BMI体质指数计算器

    目标:开发一款体质指数计算器,实现输入身高体重即可判断体型是否正常 知识点:Activity:布局:基本组件的使用 BMI是体质指数,公认的一种评定个人体质肥胖程度的分级方法,具体的计算方法是以体重除 ...

  3. Android小项目---BIM体质指数计算器

    BMI体质指数计算器 一.学习提示 1.1.项目目标:开发一款体质指数计算器,实现输入身高和体重即可判定体型是否正常. 1.2.知识点:Activity:布局:Widget组件(EditText/Bu ...

  4. 安卓bmi项目_Android|BMI体质计算器实现(附测试源码)

    大家好,我是执念.本博文源于安卓基础,主要介绍如何实现BMI体质计算器.先讲规则后讲实现 体质计算规则 胖瘦程度 体质指数 过轻 男性低于20,女性低于19 适中 男性20-25,女性19-24 超重 ...

  5. 安卓android BMI体质指数测试项目完整版

    一. 界面布局: (1). 主界面: 如下图1所示: 图1-主界面 Activity_main.xml源代码: <?xml version="1.0" encoding=&q ...

  6. 安卓android BMI体质指数测试项目

    一. 界面布局: (1). 主界面: Activity_main.xml源代码: <?xml version="1.0" encoding="utf-8" ...

  7. Android 入门项目NoteBook

    这两天准备随便写几个Android样例,对于这种简单的项目还是比较熟练的:-),稍后给出github地址,希望一起进步.欢迎大家Fock. Android NoteBook 关键技术 1.Cursor ...

  8. Android入门项目(六)Android的wifi开发,androidwifi开发教程

    boolean isUpdated = intent.getBooleanExtra(WifiManager.EXTRA_RESULTS_UPDATED, false); Log.i(TAG, &qu ...

  9. 微信小程序入门项目-做一个马马虎虎的计算器

    效果: 打开微信开发者工具,新建小程序 打开app.json设置顶部的标题和颜色 由于小程序不支持JavaScript的一些函数,比如evel(),所以代码变得复杂很多. pages\index\in ...

最新文章

  1. css3-巧用选择器 “:target”
  2. 怎么判断模式窗体打开的窗体名_QtitanRibbon是什么?该怎么用?
  3. 每次跳槽,总得面对这摊事
  4. Linux 命令之 unrar -- 解压 rar 格式的文件
  5. Mysql utf8 和utf8mb4 的区别
  6. [paper reading] CenterNet (Object as Points)
  7. 2010年 我的齐鲁软件大赛作品
  8. 关于new FormData() 对象的用法
  9. Mysql同个用户退款订单_微信退款全款退,退一部分,分开退一次以上区别跳坑[订单金额或退款金额与之前请求不一致]...
  10. HttpSession概述
  11. mysql中key的用法_数据库中KEY的用法
  12. 用python扑克随机发牌_Python小应用之发扑克牌
  13. 利用adb卸载手机预装软件(系统软件)
  14. 记录-吴军《硅谷来信》有感
  15. 实战7:机器学习实战之 随机森林、逻辑回归、SVM算法方法进行垃圾邮件过滤分类 代码+数据
  16. ArcGIS之多个GDB批量导出shp至特定文件夹20201228
  17. Java程序性能优化——性能调优层次
  18. Microsoft Word 设置底纹
  19. SQLyog中如何导入mysql数据库
  20. mysql中在if语句中使用break_if语句中break用法

热门文章

  1. CLR/CIL/CTS/CLI/BCL/FCL
  2. Html页面深度是啥,链接深度
  3. 【SEO教程网】网站内部链接优化的四大技巧
  4. 突发!倪行军出任支付宝中国董事长,技术出身的他,曾写下“支付宝”第一行代码.........
  5. 访谈李开复:谁主宰微软未来
  6. 工单系统是什么?工单系统有什么功能?
  7. ubuntu 16.0.4安装Opencv3.2.0
  8. 【Shader】简单的水面波纹效果
  9. 五大改编金曲唱出股民心声
  10. 源于魔兽!《植物大战僵尸》成功奥秘 (转)