Android|BMI体质计算器实现(附测试源码)
生活随笔
收集整理的這篇文章主要介紹了
Android|BMI体质计算器实现(附测试源码)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大家好,我是執念。本博文源于安卓基礎,主要介紹如何實現BMI體質計算器。先講規則后講實現
體質計算規則
| 過輕 | 男性低于20,女性低于19 |
| 適中 | 男性20-25,女性19-24 |
| 超重 | 男性25-30,女性24-29 |
| 肥胖 | 男性30-35,女性29-34 |
| 嚴重肥胖 | 男性高于35,女性高于34 |
測試效果
案例打印出保留兩位BMI指數,并且對于身高體重小于0,異常不處理!
實例步驟
創建項目My eleApplication
點進Project—>Empty Activity—>然后名字改下,finish即可。成功之后,點擊箭頭運行程序。
程序正常可以跑成功hello world字樣,下面我們繼續
布局activity_main.xml
大家從實驗效果可以看出,這里用了不少控件。三個TextView,兩個EditText,兩個單選按鈕控件,一個按鈕控件,代碼下方對內容作進一步分析!
<?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:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="身高(cm)"android:id="@+id/txt1"/><EditTextandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/edX"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="體重(kg)"android:id="@+id/txt2"/><EditTextandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/edY"/><RadioGroupandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:id="@+id/rg"><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="男"android:id="@+id/rb1"android:layout_marginRight="30dp"android:checked="true"/><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="女"android:id="@+id/rb2"/></RadioGroup><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/btn"android:text="計算BMI值"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/tvResult"/></LinearLayout>LinearLayout詳解
這是基礎的線性布局,只需要配置width與height。水平方向即可
TextView詳解
我們用了三個,其中一個是輸出結果,另外兩個只是為了代碼更友好。具體的也是基礎設置。
RadioButton詳解
要想使用單選按鈕必須要設置按鈕組,然后一些基本的配置,包括text,id,width與height。id是后期獲得操作的。必須設置
EditText詳解
很多時候,編輯文本是在初學者時期需要用到的。因此id必須設置
搭建MainActivity.java代碼
java代碼在完成這個案例時只需要三步,這也是翁愷老師經常說的三步:“輸入-處理–輸出”。輸入就是指獲取View種的所有對象。處理就是指能根據輸入值找出判斷依據,輸出就是把答案拋出來。
package com.example.myeleapplication;import androidx.appcompat.app.AppCompatActivity;import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.TextView;import org.w3c.dom.Text;public class MainActivity extends Activity implements View.OnClickListener {RadioButton rb1;RadioButton rb2;TextView tvResult;EditText txt1;EditText txt2;Button btn;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);setViews();}public void setViews() {rb1 = (RadioButton) findViewById(R.id.rb1);rb2 = (RadioButton) findViewById(R.id.rb2);//判斷男女tvResult = (TextView) findViewById(R.id.tvResult);txt1 = (EditText)findViewById(R.id.edX);txt2 = (EditText)findViewById(R.id.edY);btn = (Button)findViewById(R.id.btn);btn.setOnClickListener(this);}@Overridepublic void onClick(View v) {double x = Double.parseDouble(txt1.getText().toString());//身高double y = Double.parseDouble(txt2.getText().toString());//體重//體重除以身高的平方double res;String str = "Your BMI is";if(x<=0 || y<=0) {tvResult.setText("值異常,不計算");return ;}x = x/100;res = y / (x*x);String str1 = String.format("%.2f",res);str = str + str1;if(rb1.isChecked())res -= 1;//以女性為標準進行比較//僅以女性作為評價標準str += "體型:";if(res < 19)str += "過輕";else if(res < 24)str += "適中";else if(res<29)str += "超重";else if(res<34)str += "肥胖";elsestr += "嚴重肥胖";tvResult.setText(str);} }點擊運行,獲取結果
總結
執念并在此總結了實例的步驟:
- 創建項目,跑通hello world
- 搭建界面
- 配置java代碼
- 點擊運行,收獲喜悅
很高興博文能幫助到大家!
總結
以上是生活随笔為你收集整理的Android|BMI体质计算器实现(附测试源码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hbuilder html引用css,h
- 下一篇: (洛谷)P1000 超级玛丽游戏