Blog Single

Bu makalemde sizlere, Android ile Vücut Kitle Endeksi Hesaplaması Projesi ve Kaynak kodlarını açıklayacı şekilde anlatmaya çalışacağım. Kodlar bana aittir, şimdiden yararlı olması dileğiyle.

Öncelikle MainActivity ve TheSecond isimli iki activity dosyası oluşturunuz. Layout kısımları için ise, activity_main.xml ve second.xml oluşturun.

Activity main için;

  • strWeight, strHeight isimlerinde 2 TextView oluşturunuz.
  • 1 adet button1
  • 1 adet radioGroup1, içerisine ise 2 RadioButton oluşturun

MainActivity için;

  • Global değişken olarak
    • private RadioButton maleRadio;
      private RadioButton femaleRadio;
    • onCreate için
      • final EditText height=(EditText)findViewById(R.id.txtHeight);
        final EditText weight=(EditText)findViewById(R.id.txtWeight);
        Button btnCalculate=(Button)findViewById(R.id.button1);
        maleRadio = (RadioButton)findViewById(R.id.man);
        femaleRadio = (RadioButton)findViewById(R.id.woman);
      • btnCalculate.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                float hFloatValue=Float.parseFloat(height.getText().toString());
                float wFloatValue=Float.parseFloat(weight.getText().toString());
                float sonuc = wFloatValue/((hFloatValue / 100) * (hFloatValue / 100));
                float idealWeight = 0;
        
                if(maleRadio.isChecked()){
                    idealWeight = (float) ((hFloatValue-100)*0.89);
                    //Toast.makeText(getApplicationContext(), "Bay seçildi"+sonuc, Toast.LENGTH_SHORT).show();
                }
                else if(femaleRadio.isChecked()){
                    idealWeight = (float) ((hFloatValue-100)*0.94);
                    //Toast.makeText(getApplicationContext(), "Bayan seçildi"+sonuc, Toast.LENGTH_SHORT).show();
                }
        
        
                Intent myIntent = new Intent(MainActivity.this, TheSecond.class);
                myIntent.putExtra("myIdealWeight", Float.toString(idealWeight));
                myIntent.putExtra("myCurrentAverage", Float.toString(sonuc));
                startActivity(myIntent);
        
        
        
            }
        });

TheSecond.java içerisinde;

  • Global değişken olarak;
    • TextView tvSonuc;
      TextView tvAciklama;
      private Button btn1;
      private Button btn2;
  • onCreate içerisindeyken;
    • float idealWeight = 0;
      float myAverage = 0;
      tvSonuc = (TextView) findViewById(R.id.textView1);
      tvAciklama = (TextView) findViewById(R.id.textView2);
      idealWeight = Float.parseFloat(getIntent().getStringExtra("myIdealWeight"));
      myAverage = Float.parseFloat(getIntent().getStringExtra("myCurrentAverage"));
      
      if(idealWeight > 0){
          tvSonuc.setText(getString(R.string.idealWeight)+"; "+Math.round(idealWeight));
      }else{
          tvSonuc.setText(getString(R.string.val001));
      }
      
      if(Math.round(myAverage) >0 && Math.round(myAverage)<18.49){
          tvAciklama.setText(getString(R.string.val002));
      }else if(Math.round(myAverage) >18.49 && Math.round(myAverage)<24.99){
          tvAciklama.setText(getString(R.string.val003));
      }else if(Math.round(myAverage) >24.99 && Math.round(myAverage)<29.99){
          tvAciklama.setText(getString(R.string.val004));
      }else if(Math.round(myAverage) >29.99 && Math.round(myAverage)<34.99){
          tvAciklama.setText(getString(R.string.val005));
      }else if(Math.round(myAverage) >34.99 && Math.round(myAverage)<44.99){
          tvAciklama.setText(getString(R.string.val006));
      }else if(Math.round(myAverage) >44.99){
          tvAciklama.setText(getString(R.string.val007));
      }
      
      
      btn2=(Button) findViewById(R.id.button2);
      btn2.setOnClickListener(new View.OnClickListener() {
          public void onClick(View view) {
              TheSecond.super.onBackPressed();
          }
      });

second.xml için ise 2 TextView, 1 Button koddaki isimler ile aynı olsun.

Not: AndroidManifest.xml içerisinde, TheSecond isimli activity tanımlamayı unutmayın.

Bu makaleyi paylaşın:
İstanbul'da yaşıyorum.Web üzerinde Frontend/Backend Geliştirmenin yanı sıra, Android Geliştirme, PHP/ASP.NET, C# Yazılım Uzmanlığı ve Java konuları işliyorum. Kod Şiirdir, onları seviyorum.

Bir yorum bırakın