用android做体质计算器,Android入门项目(一):BMI体质指数计算器
目標(biāo):開發(fā)一款體質(zhì)指數(shù)計算器,實現(xiàn)輸入身高體重即可判斷體型是否正常
知識點:Activity;布局;基本組件的使用
BMI是體質(zhì)指數(shù),公認(rèn)的一種評定個人體質(zhì)肥胖程度的分級方法,具體的計算方法是以體重除以身高的平方公式如下
體質(zhì)指數(shù)(BMI)=體重(kg)/身高(m)^2
實現(xiàn)BMI需要用戶輸入身高體重,并點擊計算按鈕,顯示結(jié)果,使用EditText實現(xiàn)用戶身高的輸入,使用textview將結(jié)果輸出,主要練習(xí)android基本控件的使用,Textview是靜態(tài)的文本空間,用于顯示文字,可以在布局文件或者代碼中設(shè)置顯示內(nèi)容,EditText是用于和用戶交互的一個控件,接收用戶的輸入。
BMI界面設(shè)計
資源文件夾layout下的xml文件為設(shè)計界面的文件,BMI使用LinearLayout線性布局,界面設(shè)計代碼如下:
BMI功能實現(xiàn)
一個Activity控制一個界面,項目的src下存放界面功能實現(xiàn)的代碼,需要繼承Activity類,首先在類中聲明我們要使用的控件變量,要聲明兩個Edittext用于接收用戶身高和體重的輸入,設(shè)置Button類型的變量代表計算按鈕,一個Textview類型變量用于顯示結(jié)果,這些都是控件類型的變量,功能實現(xiàn)代碼要和界面聯(lián)系起來,首先我們要確定這個Activity要控制和顯示的界面是哪一個,通過setContentView()把我們之前設(shè)計好的界面和這個Activity綁定起來,同樣也要把剛剛定義的控件類型的變量和界面中設(shè)計的控件對應(yīng)起來,這樣在代碼中實現(xiàn)功能的時候才能同時對界面中的控件進(jìn)行改變:
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()); }
對于按鈕要設(shè)置一個動作監(jiān)聽,當(dāng)被點擊時觸發(fā)事件,按鈕的觸發(fā)事件寫在ButtonClickListener類中,類實現(xiàn)了onclickListener接口,按鈕被點擊后首先獲取用戶輸入的身高體重數(shù)據(jù),判斷數(shù)據(jù)的合法性,然后按照BMI公式計算體質(zhì)指數(shù),將結(jié)果顯示到Textview中
使用getText().toString()方法獲取EditText中輸入的內(nèi)容,getText()返回的是一個CharSequence的接口,所以要獲得輸入的字符串需要加上toString(),再將字符串變?yōu)閿?shù)字進(jìn)行運算,使用Textview.setText()方法設(shè)置結(jié)果顯示:
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(); } } }
此時所有的功能已經(jīng)編寫完成,點擊運行即可,項目下載:鏈接: https://pan.baidu.com/s/1nvupS4D 密碼: vev2
總結(jié)
以上是生活随笔為你收集整理的用android做体质计算器,Android入门项目(一):BMI体质指数计算器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android recyclerview
- 下一篇: 4.8-全栈Java笔记:包机制