Merhaba arkadaşlar ,bu uygulamamızda sıcaklık birim dönüştürücüsü yapıcaz.Yeni uyguluma açıp istediğiniz ismi verebilirsiniz. Tasarıma gelince ben Edittext,Radiobuton,Textview,Button kullandım,tasarımın şekli size kalmış istediğiniz gibi yapabilirsiniz. Burada yapmak istediğimiz celsius değerini diğer radiobutonda seçili olanlara dönüştürmektir. Uygulamamızın xml kodlarımız şu şeklidedir:
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget32"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<EditText
android:id="@+id/edit1"
android:layout_width="318dp"
android:layout_height="wrap_content"
android:layout_x="0dp"
android:layout_y="4dp"
android:textSize="18sp" />
<RadioGroup
android:id="@+id/widget65"
android:layout_width="136dp"
android:layout_height="142dp"
android:layout_x="2dp"
android:layout_y="52dp" >
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:text="Celsius" />
</RadioGroup>
<Button
android:id="@+id/buton1"
android:layout_width="62dp"
android:layout_height="32dp"
android:layout_x="126dp"
android:layout_y="97dp"
android:background="@drawable/arrow_leftright" />
<Button
android:id="@+id/buton2"
android:layout_width="139dp"
android:layout_height="wrap_content"
android:layout_x="8dp"
android:layout_y="284dp"
android:text="Hesapla" />
<Button
android:id="@+id/buton3"
android:layout_width="134dp"
android:layout_height="wrap_content"
android:layout_x="170dp"
android:layout_y="283dp"
android:text="Temizle" />
<RadioGroup
android:id="@+id/widget66"
android:layout_width="136dp"
android:layout_height="174dp"
android:layout_x="190dp"
android:layout_y="43dp" >
<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Celsius" />
<RadioButton
android:id="@+id/radio3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fahrenhayt" />
<RadioButton
android:id="@+id/radio4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kelvin" />
<RadioButton
android:id="@+id/radio5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reaumur" />
</RadioGroup>
<EditText
android:id="@+id/edit2"
android:layout_width="242dp"
android:layout_height="wrap_content"
android:layout_x="54dp"
android:layout_y="241dp"
android:ems="10"
android:textSize="18sp" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/widget85"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="2dp"
android:layout_y="256dp"
android:text="Sonuç:"
android:textSize="15sp" />
</AbsoluteLayout>
Uygulamada Celsius'u ,Fahrenhayt,Kelvin ve Reaumur dönüştürme formüllerini bilmek gerekir .Formüller söyledir.
F = C × 1.8 + 32
K = C + 273.15
Re = C × 0.8
Şimdi Java kodlarımıza göz atalım .
package com.example.sicaklikdonusturcu;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;
public class Donusturucu extends Activity {
Button buton,temizle;
EditText edittext1,edittext2;
RadioButton radio1,radio2,radio3,radio4,radio5,radio6,radio7,radio8;
Integer deger,F,C,K,Re;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_donusturucu);
buton=(Button)findViewById(R.id.buton2);
temizle=(Button)findViewById(R.id.buton3);
edittext1=(EditText)findViewById(R.id.edit1);
edittext2=(EditText)findViewById(R.id.edit2);
radio1= (RadioButton)findViewById(R.id.radio1);
radio2= (RadioButton)findViewById(R.id.radio2);
radio3= (RadioButton)findViewById(R.id.radio3);
radio4= (RadioButton)findViewById(R.id.radio4);
radio5= (RadioButton)findViewById(R.id.radio5);
buton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
deger=Integer.parseInt(edittext1.getText().toString());
//celsius-fahrenhayt dönüşümü
if(radio1.isChecked()&&radio3.isChecked())
{
F=(int) (deger*(1.8)+32);
edittext2.setText(F.toString());
//celsius-kelvin
}else if(radio1.isChecked()&&radio4.isChecked())
{
K=deger+273;
edittext2.setText(K.toString());
//celsius-reaumur
}else if(radio1.isChecked()&&radio5.isChecked())
{
Re=(int) (deger*(0.8));
edittext2.setText(Re.toString());
//celsius-celsius
}else if(radio1.isChecked()&&radio2.isChecked())
{
Toast.makeText(getApplicationContext(), "Aynı değerleri seçtiniz.", Toast.LENGTH_LONG);
edittext2.setText(deger.toString());
}
}
});
temizle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edittext1.setText("");
edittext2.setText("");
radio2.setChecked(false);
radio3.setChecked(false);
radio4.setChecked(false);
radio5.setChecked(false);
}
});
}
}
Uygulamamızın ekran görüntüsü ise şu şekildedir:
Kolay Gelsin .
Soru ve Görüşleriniz için yorum yapabilirsiniz.