توی این قسمت آموزشی می خوام با استفاده از ادیت تکست یه عددی رو بگیرم و سپس اون رو به سلسیوس یا فارنهایت تبدیل کنیم 

ابتدا لایه xml رو طراحی می کنیم :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.shadow.hadi.tempconvert.MainActivity">

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:ems="10"
        android:id="@+id/editText"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="45dp"
        android:hint="Enter temp"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="C"
        android:id="@+id/button"
        android:layout_below="@+id/editText"
        android:layout_alignParentStart="true"
        android:layout_marginTop="68dp"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="F"
        android:id="@+id/button2"
        android:layout_alignBottom="@+id/button"
        android:layout_alignParentEnd="true"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text=""
        android:textSize="30sp"
        android:id="@+id/textView"
        android:layout_below="@+id/button"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="113dp"/>
</RelativeLayout>

سپس کدهای مربوط به اکتیویتی اصلی رو می نویسیم :

public class MainActivity extends AppCompatActivity {

  //تعریف تکست ویوو و دکمه و ادیت تکست
  private EditText edtTemp;
  private Button btnC;
  private Button btnF;
  private TextView txtTemp;
  DecimalFormat round = new DecimalFormat("0.0");

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // [°F] = [°C] ×  9⁄5 + 32
    // [°C] = ([°F] − 32) ×  5⁄9
// وصل کردن به لایه xml
    edtTemp = (EditText) findViewById(R.id.editText);
    btnC = (Button) findViewById(R.id.button);
    btnF = (Button) findViewById(R.id.button2);
    txtTemp = (TextView) findViewById(R.id.textView);

// وقتی روی دکمه کلیک شد
    btnC.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
//گرفتن مقدار ادیت تکست
        String edtValue = edtTemp.getText().toString();
        //اکر داخل ادیت تکست خالی بود
        if (edtValue.isEmpty()) {
          Toast.makeText(MainActivity.this, "Enter a temp ", Toast.LENGTH_SHORT).show();
        } else {
          // تبدیل مقدار داخل ادیت تکست به دابل متغییر اعشاری
          Double edtDouble = Double.parseDouble(edtValue);
          // تبدیل مقدار وارد شده به فارنهایت با استفاده از متد تبدیل سلسیوس به فارنهایت
          String finalResult = String.valueOf(round.format(tempConvertedToC(edtDouble)));
          // مقدار دهی به تکست ویوو
          txtTemp.setText(finalResult);
        }

      }
    });
// وقتی روی دکمه کلیک شد

    btnF.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        String edtValue = edtTemp.getText().toString();
        if (edtValue.isEmpty()) {
          Toast.makeText(MainActivity.this, "Enter a temp ", Toast.LENGTH_SHORT).show();
        } else {
          Double edtDouble = Double.parseDouble(edtValue);
          String finalResult = String.valueOf(round.format(tempConvertedToF(edtDouble)));
          txtTemp.setText(finalResult);
        }

      }
    });


  }
// متد تبدیل فارنهایت به سلسیوس
  public double tempConvertedToC(double tf) {
    double convertedToC;
    convertedToC = (tf - 32) * 5 / 9;

    return convertedToC;
  }

  // متد تبدیل سلسیوس به فارنهایت
  public double tempConvertedToF(double tc) {

    double convertdToF;
    convertdToF = (tc * 9 / 5) + 32;
    return convertdToF;
  }

}

نمای پروژه :

لینک دانلود سورس پروژه : دانلود