Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Yazılım
    • Elektronik Alışveriş Fırsatları
    • Pratik
    • Ev Teknolojileri
    • Makale
    • Güvenlik
    • Ekonomi
    • İnternet
    • Giyilebilir Teknoloji
    • Sağlık
    • Yazıcı
    • Sosyal Medya
    • Otomobil
      • Elektrikli Otomobil
  • Sosyal
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Yazılım
    • Elektronik Alışveriş Fırsatları
    • Pratik
    • Ev Teknolojileri
    • Makale
    • Güvenlik
    • Ekonomi
    • İnternet
    • Giyilebilir Teknoloji
    • Sağlık
    • Yazıcı
    • Sosyal Medya
    • Otomobil
      • Elektrikli Otomobil
  • Sosyal
Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net

Anasayfa - Ev Teknolojileri - Android Programlama Ders 27: İdeal Kilo Hesaplama Uygulaması Oluşturmanın Devamı

Android Programlama Ders 27: İdeal Kilo Hesaplama Uygulaması Oluşturmanın Devamı

7 Mart 2014 - 13:00
- Ev Teknolojileri, Haber, Mobil

Android programlama derslerimizin 27. bölümünde basit bir ideal kilo gösteren uygulama oluşturmaya devam ediyoruz.

Geçen derste uygulamanın görüntüsünü oluşturduk.

MainActivity.java’yı açın ve aşağıdaki verdiğim kodu girin.

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button turk = (Button) findViewById(R.id.turk);
final Button bilgi = (Button) findViewById(R.id.bilgi);
OnClickListener button_click = new OnClickListener()
{
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setClass(getApplicationContext(),TurkClass.class);
startActivity(i);
}
};
OnClickListener bilgi_click = new OnClickListener()
{
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setClass(getApplicationContext(),BaslikClass.class);
startActivity(i);
}
};
bilgi.setOnClickListener(bilgi_click);
turk.setOnClickListener(button_click);
}
}

Main.xml iki butondan oluşuyor (Başla ve Bilgi). Başla butonuna basıldığı zaman TurkClass.java’yı ve Bilgi butonuna basıldığı zaman BaslikClass.java’yı çalıştırıyoruz. Yeni etkileşimin (Activity) oluşturmanın 19’cu derste  adım adım açıklanıyor.

ideal

TurkClass.java klası oluşturalım ve aşağıdaki verdiğim kodu kopyalayalım.

public class TurkClass extends Activity {
EditText num1;
EditText num2;
EditText num3;
float count =0;
float BKI=0;
OnClickListener checkBoxListener;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.turkce);
final Button button1 = (Button) findViewById(R.id.button1);
final Button button3 = (Button) findViewById(R.id.button3);
final Button tavsiye = (Button) findViewById(R.id.bilgi);
final CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkBox1);
final EditText num1 = (EditText) findViewById(R.id.num1);
final EditText num2 = (EditText) findViewById(R.id.num2);
final EditText num3 = (EditText) findViewById(R.id.num3);
final CheckBox checkBox2 = (CheckBox) findViewById(R.id.checkBox2);
final TextView textView8 = (TextView) findViewById(R.id.textView8);
final TextView textView7 = (TextView) findViewById(R.id.textView7);
final TextView textView6 = (TextView) findViewById(R.id.textView6);
checkBox1.setChecked(true);
checkBoxListener = new OnClickListener(){
public void onClick(View v)
{
if(checkBox1.isChecked() && count == 1){
count=0;
checkBox2.setChecked(false);
}
if(checkBox2.isChecked())
{
count=1;
checkBox1.setChecked(false);
}
}
};
OnClickListener button_click = new OnClickListener(){
@Override
public void onClick(View v) {
if(checkBox1.isChecked())
{
float result = 0;
float etnum1=0;
float etnum2=0;
float etnum3=0;
if (TextUtils.isEmpty(num1.getText().toString())
|| TextUtils.isEmpty(num2.getText().toString())
|| TextUtils.isEmpty(num3.getText().toString())) {
textView8.setText("Lütfen boş alanları doldurunuz");
return;
}
etnum1 = Float.parseFloat(num1.getText().toString());
etnum2 = Float.parseFloat(num2.getText().toString());
etnum3 = Float.parseFloat(num3.getText().toString());
result = (float) ((etnum1 - 100)*0.9);
textView6.setText(" "+ result);
}
if(checkBox2.isChecked())
{
float result = 0;
float etnum1=0;
float etnum2=0;
float etnum3=0;
if (TextUtils.isEmpty(num1.getText().toString())
|| TextUtils.isEmpty(num2.getText().toString())
|| TextUtils.isEmpty(num3.getText().toString())) {
textView8.setText("Lütfen boş alanları doldurunuz");
return;
}
etnum1 = Float.parseFloat(num1.getText().toString());
etnum2 = Float.parseFloat(num2.getText().toString());
etnum3 = Float.parseFloat(num3.getText().toString());
result = (float) ((etnum1 - 100)*0.85);
textView6.setText(" "+ result);
}
float etnum1=0;
float etnum2=0;
float etnum3=0;
etnum1 = Float.parseFloat(num1.getText().toString());
etnum2 = Float.parseFloat(num2.getText().toString());
etnum3 = Float.parseFloat(num3.getText().toString());
if(etnum3 < 18 || etnum3 > 46)
{
textView8.setText("Bu test 18-46 yaşlar için");
textView6.setText("");
textView7.setText("");
return;
}
if(etnum1 < 168 && checkBox1.isChecked())
{
BKI = (float) ((etnum2/(etnum1*etnum1/10000)) + (0.1*(etnum2/(etnum1*etnum1/10000))));
textView7.setText(" "+ BKI);
}
if(etnum1 > 188 && checkBox1.isChecked())
{
BKI = (float) ((etnum2/(etnum1*etnum1/10000)) - (0.1*(etnum2/(etnum1*etnum1/10000))));
textView7.setText(" "+ BKI);
}
if(etnum1 < 154 && checkBox2.isChecked())
{
BKI = (float) ((etnum2/(etnum1*etnum1/10000)) + (0.1*(etnum2/(etnum1*etnum1/10000))));
textView7.setText(" "+ BKI);
}
if(etnum1 > 174 && checkBox2.isChecked())
{
BKI = (float) ((etnum2/(etnum1*etnum1/10000)) - (0.1*(etnum2/(etnum1*etnum1/10000))));
textView7.setText(" "+ BKI);
}
if(etnum1 >= 168 && etnum1 <= 188 && checkBox1.isChecked())
{
BKI = (float) ((etnum2/(etnum1*etnum1/10000)));
textView7.setText(" "+ BKI);
}
if(etnum1 >= 154 && etnum1 <= 174 && checkBox2.isChecked())
{
BKI = (float) ((etnum2/(etnum1*etnum1/10000)));
textView7.setText(" "+ BKI);
}
if(etnum3 >= 18 && etnum3 <= 46)
{
if(BKI<=17.5)
{
textView8.setText("Anoreksi. Aşırı zayıf. Yüksek risk.");
}
if(BKI>=17.5 && BKI<=19.1 && checkBox2.isChecked())
{
textView8.setText("Zayıf.");
}
if(BKI>=17.5 && BKI<=20.7 && checkBox1.isChecked())
{
textView8.setText("Zayıf.");
}
if(BKI>=19.1 && BKI<=25.8 && checkBox2.isChecked())
{
textView8.setText("Normal aralık (ideal kilo)");
}
if(BKI>=20.7 && BKI<=26.4 && checkBox1.isChecked())
{
textView8.setText("Normal aralık (ideal kilo)");
}
if(BKI>=25.8 && BKI<=27.3 && checkBox2.isChecked())
{
textView8.setText("Biraz kilo fazlası.");
}
if(BKI>=26.4 && BKI<=27.8 && checkBox1.isChecked())
{
textView8.setText("Biraz kilo fazlası.");
}
if(BKI>=27.3 && BKI<=32.3 && checkBox2.isChecked())
{
textView8.setText("Fazla kilo.");
}
if(BKI>=27.8 && BKI<=31.1 && checkBox1.isChecked())
{
textView8.setText("Fazla kilo.");
}
if(BKI>=32.3 && BKI<=34.9 && checkBox2.isChecked())
{
textView8.setText("Çok fazla kilolu.");
}
if(BKI>=31.1 && BKI<=34.9 && checkBox1.isChecked())
{
textView8.setText("Çok fazla kilolu.");
}
if(BKI>=35 && BKI<=40)
{
textView8.setText("Sağlık açısından yüksek risk.");
}
if(BKI>=40 && BKI<=50)
{
textView8.setText("Hastalıklı bir şekilde aşırı kilolu.");
}
if(BKI>=50 && BKI<=60)
{
textView8.setText("Süper aşırı kilolu..");
}
}
}
};
OnClickListener button_click3 = new OnClickListener(){
@Override
public void onClick(View v) {
textView6.setText("");
textView7.setText("");
textView8.setText("");
num1.setText("");
num2.setText("");
num3.setText("");
num1.requestFocus();
checkBox1.setChecked(true);
checkBox2.setChecked(false);
}
};
OnClickListener tavsiye_click = new OnClickListener()
{
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setClass(getApplicationContext(),TavsiyeClass.class);
startActivity(i);
}
};
tavsiye.setOnClickListener(tavsiye_click);
checkBox1.setOnClickListener(checkBoxListener);
checkBox2.setOnClickListener(checkBoxListener);
button1.setOnClickListener(button_click);
button3.setOnClickListener(button_click3);
}
}

İlk satırlarda CheckBox’ların davranışları programlıyoruz.

checkBox1.setChecked(true);

Yukarıdaki satır TurkClass.java etkileşimi açıldığı zaman checkBox1 otomatik olarak seçilmiş hali aldığını belirliyor.

 checkBoxListener = new OnClickListener(){
public void onClick(View v)
{
if(checkBox1.isChecked() && count == 1){
count=0;
checkBox2.setChecked(false);
}
if(checkBox2.isChecked())
{
count=1;
checkBox1.setChecked(false);
}
}
};

 

Yukarıdaki verdiğim kodlarda Checkbox1 ve Checkbox2 davranışlarını programlıyoruz.

CheckBox2 seçildiği zaman CheckBox1 seçilmemiş haline geçiyor. Aynı durum da CheckBox1 için geçerlidir. Burada count değişkeni seçilmiş hali olup olmadığını kontrol etmek için kullanılıyor.

public void onClick(View v) {
if(checkBox1.isChecked())
{
float result = 0;
float etnum1=0;
float etnum2=0;
float etnum3=0;
if (TextUtils.isEmpty(num1.getText().toString())
|| TextUtils.isEmpty(num2.getText().toString())
|| TextUtils.isEmpty(num3.getText().toString())) {
textView8.setText("Lütfen boş alanları doldurunuz");
return;
}
etnum1 = Float.parseFloat(num1.getText().toString());
etnum2 = Float.parseFloat(num2.getText().toString());
etnum3 = Float.parseFloat(num3.getText().toString());
result = (float) ((etnum1 - 100)*0.9);
textView6.setText(" "+ result);
}

Tamam butonuna bastığı zaman ilk başta hangi checkBox’un  (checkBox1- erkek ve checkbox2- bayanlar için) seçildiğini kontrol ediyor. Dolduracak alanları boş olduğu zaman  “Lütfen boş alanları doldurunuz” mesajı verecektir. Dolduracak alanları dolu olduğu zaman ideal kilo hesaplaması yapılması mümkündür. Sonraki adımda eğer checkBox2 seçilmişse işlemler bayanlar için gerçekleşiyor. Kodu daha iyi anlamak için 17’ci derse bakın.

if(etnum1 < 168 && checkBox1.isChecked())
{
BKI = (float) ((etnum2/(etnum1*etnum1/10000)) + (0.1*(etnum2/(etnum1*etnum1/10000))));
textView7.setText(" "+ BKI);

Yukarıdaki satırların amacı boylarına göre BKI hesaplamaktır. Erkekler için eğer boy 168 küçüktür BKI+ %10 artıyoruz. Ve eğer boy188 fazla ise BKI= BKI-%10 hesaplıyoruz. Bayanlar için eğer boy 154 ten küçükse  %10 artıyoruz ve 174 fazla olduğu zaman %10 küçültüyoruz.

if(etnum3 >= 18 && etnum3 <= 46)
{
if(BKI<=17.5)
{
textView8.setText("Anoreksi. Aşırı zayıf. Yüksek risk.");
}
if(BKI>=17.5 && BKI<=19.1 && checkBox2.isChecked())
{
textView8.setText("Zayıf.");
}

Sonraki aşamada BKI’ye göre erkekler ve bayanlar için textView8’i kullanarak tavsiye mesajları ekrana çıkartıyoruz.

public void onClick(View v) {
textView6.setText("");
textView7.setText("");
textView8.setText("");
num1.setText("");
num2.setText("");
num3.setText("");
num1.requestFocus();
checkBox1.setChecked(true);
checkBox2.setChecked(false);
}

Temizle butonuna basıldığı zaman dolduracak alanları temizliyor ve checkbox1 seçilmiş durumuna çeviriyor.

OnClickListener tavsiye_click = new OnClickListener()
{
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setClass(getApplicationContext(),TavsiyeClass.class);
startActivity(i);
}
};

Yukarıdaki satırlar tavsiye butonuna basıldığı zaman TavsiyeClass.java etkileşimi çalıştırdığını programlıyor.

TavsiyeClass.java klası oluşturalım ve aşağıdaki verdiğim kodu kopyaladım.
public class TavsiyeClass extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tavsiye);
final TextView textView1 = (TextView) findViewById(R.id.text);
textView1.setMovementMethod(new ScrollingMovementMethod());
textView1.setText(R.string.doctor);
}
}

 

BaslikClass.java klası oluşturalım ve aşağıdaki verdiğim kodu kopyalayalım.

public class BaslikClass extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.baslik);
}
}

idealkilo

 

Ders Sonu Notları:

Bu derste checkBox’ların davranışı programlamayı, if komutu etkin kullanması, dolduracak alanların temizlenmesi ve etkileşimin (Activity) açılmasını tekrarladık . Hazır olan programı buradan  indirebilirsiniz. Gelecek derste Intent Filter oluşturmayı öğreneceğiz.

 

 

 

 

Etiketler: activityAndroid programlamaBKİCheckBoxdersEclipseIdeal kiloIntent FilterTeknoloji.TextViewyeni
PaylaşPaylaşTweetYollaPaylaş
Victor Cuiumju

Victor Cuiumju

Yorum Yap Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

RSS Technopat Sosyal

  • 40-45 bin TL'ye laptop tavsiyesi
  • 15-20 bin TL arası bütçeyle ofis için laptop önerisi
  • Amazon'da ürün kullanıldıktan sonra iade edilebilir mi?
  • Scorpion Exo 391 kask alınır mı?
  • 3500-4000 TL arasına mouse önerisi
  • Ghost of Yōtei alınır mı?
  • 15.000 TL ekran kartı önerisi
  • Render için 64 GB ya da 32 GB RAM önerisi
  • Din, Türkler İçin Avantaj mı, Dezavantaj mı?
  • Spor için kulaklık önerisi

Technopat Video

Şu an oynayan

Apple Watch’u bambaşka bir seviyeye taşıyan 5 uygulama

Apple Watch’u bambaşka bir seviyeye taşıyan 5 uygulama

Apple Watch’u bambaşka bir seviyeye taşıyan 5 uygulama

Akıllı Saat
Huawei Watch GT 6 Pro

Apple’ı 20’ye katlayan saat! Huawei Watch GT 6 Pro incelemesi

Akıllı Saat
Technopat ofisi Eylül ayında neler aldı? 

Technopat ofisi Eylül ayında neler aldı? 

Giyilebilir Teknoloji

Teknoloji tutkunu Technopatların ortak adresi: Technopat.net!

Güncel teknoloji, internet, donanım, yazılım, oyun ve daha fazlası haber, makale ve videolar ile Technopat’ta sizlerle.


01010100 01100101 01100011 01101000 01101110 01101111 01110000 01100001 01110100

Kategoriler

  • Yapay Zeka
  • Ev Teknolojileri
  • Makale
  • Video

Sosyal Medya

Bağlantılar

  • Hakkında
  • Haber
  • Video
  • Sosyal
  • Çerez Politikası
© 2011-2025 Technopat. Tüm Hakları Saklıdır.
Netse
Çerez Onayı
Web sitemizi ziyaret ettiğinizde, kullanıcı deneyiminizi daha iyi hale getirmek, hizmetlerimizi size daha etkin bir şekilde sunabilmek için çerezler (cookies) ve benzeri araçlar kullanıyoruz. Çerezler, internet sitesinin düzgün çalışmasını sağlamak, içeriği kişiselleştirmek, sosyal medya özellikleri sağlamak ve trafik analizi yapmak için kullanılan küçük metin dosyalarıdır. Çerezleri nasıl kullandığımız ve kişisel verilerinizi nasıl işlediğimiz hakkında daha fazla bilgi almak için çerez politikamızı ve kişisel veri politikamızı inceleyebilirsiniz.
Fonksiyonel Her zaman aktif
Teknik depolama veya erişim, sadece kullanıcının açıkça talep ettiği belirli bir hizmetin kullanılmasını sağlama amacıyla veya iletişimin elektronik iletişim ağı üzerinden iletilmesinin tek amacıyla yasal olarak kesinlikle gereklidir.
Tercihler
Teknik depolama veya erişim, abone veya kullanıcı tarafından istenmeyen tercihlerin depolanması yasal amacıyla gereklidir.
İstatistikler
Sadece istatistiksel amaçlarla kullanılan teknik depolama veya erişim. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Pazarlama
Teknik depolama veya erişim, reklam gönderimi için kullanıcı profilleri oluşturmak veya kullanıcıyı bir web sitesinde veya birden fazla web sitesinde benzer pazarlama amaçları için takip etmek amacıyla gereklidir.
Seçenekleri yönet Hizmetleri yönetin {vendor_count} satıcılarını yönetin Bu amaçlar hakkında daha fazla bilgi edinin
Tercihleri yönet
{title} {title} {title}
Onayı Yönet
En iyi deneyimleri sunmak için, cihaz bilgilerini saklamak ve/veya bunlara erişmek amacıyla çerezler gibi teknolojiler kullanıyoruz. Bu teknolojilere izin vermek, bu sitedeki tarama davranışı veya benzersiz kimlikler gibi verileri işlememize izin verecektir. Onay vermemek veya onayı geri çekmek, belirli özellikleri ve işlevleri olumsuz etkileyebilir.
Fonksiyonel Her zaman aktif
Teknik depolama veya erişim, abone veya kullanıcı tarafından açıkça talep edilen belirli bir hizmetin kullanılmasını sağlamak veya bir elektronik iletişim ağı üzerinden bir iletişimin iletimini gerçekleştirmek amacıyla meşru bir amaç için kesinlikle gereklidir.
Tercihler
Teknik depolama veya erişim, abone veya kullanıcı tarafından talep edilmeyen tercihlerin saklanmasının meşru amacı için gereklidir.
İstatistik
Sadece istatistiksel amaçlar için kullanılan teknik depolama veya erişim. Sadece anonim istatistiksel amaçlar için kullanılan teknik depolama veya erişim. Mahkeme celbi, İnternet Hizmet Sağlayıcınızın gönüllü uyumu veya üçüncü bir taraftan ek kayıtlar olmadan, yalnızca bu amaçla depolanan veya alınan bilgiler genellikle kimliğinizi belirlemek için kullanılamaz.
Pazarlama
Teknik depolama veya erişim, reklam göndermek için kullanıcı profilleri oluşturmak veya benzer pazarlama amaçları için kullanıcıyı bir web sitesinde veya birkaç web sitesinde izlemek için gereklidir.
Seçenekleri yönet Hizmetleri yönetin {vendor_count} satıcılarını yönetin Bu amaçlar hakkında daha fazla bilgi edinin
Tercihleri görüntüle
{title} {title} {title}
Sonuç bulunamadı
Bütün Sonuçları Göster
  • Giriş
  • Teknoloji Haberleri
  • Sosyal
  • Video
  • Tavsiyeler
  • İncelemeler
    • Video İncelemeler
  • Güvenlik
  • Oyun
  • Makale
    • Pratik
    • Yazar Köşeleri

© 2025 Technopat
Sorularınız için Technopat Sosyal