用android做体质计算器,Android入门项目(一):BMI体质指数计算器
目標:開發一款體質指數計算器,實現輸入身高體重即可判斷體型是否正常
知識點:Activity;布局;基本組件的使用
BMI是體質指數,公認的一種評定個人體質肥胖程度的分級方法,具體的計算方法是以體重除以身高的平方公式如下
體質指數(BMI)=體重(kg)/身高(m)^2
實現BMI需要用戶輸入身高體重,并點擊計算按鈕,顯示結果,使用EditText實現用戶身高的輸入,使用textview將結果輸出,主要練習android基本控件的使用,Textview是靜態的文本空間,用于顯示文字,可以在布局文件或者代碼中設置顯示內容,EditText是用于和用戶交互的一個控件,接收用戶的輸入。
BMI界面設計
資源文件夾layout下的xml文件為設計界面的文件,BMI使用LinearLayout線性布局,界面設計代碼如下:
BMI功能實現
一個Activity控制一個界面,項目的src下存放界面功能實現的代碼,需要繼承Activity類,首先在類中聲明我們要使用的控件變量,要聲明兩個Edittext用于接收用戶身高和體重的輸入,設置Button類型的變量代表計算按鈕,一個Textview類型變量用于顯示結果,這些都是控件類型的變量,功能實現代碼要和界面聯系起來,首先我們要確定這個Activity要控制和顯示的界面是哪一個,通過setContentView()把我們之前設計好的界面和這個Activity綁定起來,同樣也要把剛剛定義的控件類型的變量和界面中設計的控件對應起來,這樣在代碼中實現功能的時候才能同時對界面中的控件進行改變:
private Button calButton; private EditText heightText,weightText; private TextView resText; @Override protected 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() { @Override public 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{ @Override public 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做体质计算器,Android入门项目(一):BMI体质指数计算器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android recyclerview
- 下一篇: 4.8-全栈Java笔记:包机制