ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Create a simple Temperature Converter (Celsius to Fahrenheit) Android application using Eclipse and ADT

Updated on April 12, 2014

Developing Android application is not too completed or difficult as you might think. If you try like 30 minutes to 1 hour, you may crate a simple application easily. Today, I tried just about 40 minutes to build a simple application which can convert from Celsius to Fahrenheit temperature and nothing else! And I have completed that. Later, I decided to create a HubPage so that it may be helpful for other novice / beginner of Android application developer. Remember, this tutorial is very very short and focused and only for new learners. It's is not very helpful for Expert Android developer.

Simple Temperature Converter (Celsius to Fahrenheit):

Step 1: Create Android Application Project

First create an Android Application Project using Eclipse ADT. Give it a name like Converter or whatever you like. For this tutorial, we will call this as Converter. After the completion of this Android Application Project, you will find the following project structure.

Step 2: UI designing

We need to convert from Celsius to Fahrenheit. So, we need two input / edit type of fields only. To mark those fields, we need two tags / texts. And finally, we need one button to convert the process. So, our application may look like the following:


The xml code to create that above UI, are the following:

activity_main.xml file

<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.hubpages.plusminus.converter.MainActivity$PlaceholderFragment" >

    <TextView
        android:id="@+id/textCel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="22dp"
        android:layout_marginTop="50dp"
        android:text="@string/celcious"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/textFer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textCel"
        android:layout_below="@+id/textCel"
        android:layout_marginTop="43dp"
        android:text="@string/ferehenite"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/editCel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textCel"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@+id/textFer"
        android:ems="10"
        android:inputType="numberDecimal" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/editFer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textFer"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@+id/textFer"
        android:ems="10"
        android:inputType="numberDecimal" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/buttonConvert"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="@string/convert" />

</RelativeLayout>

strings.xml file

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Converter</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <string name="celcious">Celsius</string>
    <string name="ferehenite">Fahrenheit</string>
    <string name="convert">OK</string>

</resources>

Step 3: Java code for implementing the logic

Our goal is to read one field value and then convert it and finally display that result to the other filed. So, we need two fields to store and display the result. And the calculation will be completed upon clicking the OK button. The full code of this looks like the following:

MainActivity.java file

package com.hubpages.plusminus.converter;

import com.hubpages.converter.R;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends ActionBarActivity {

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

		final EditText cel = (EditText) findViewById(R.id.editCel);
		final EditText fer = (EditText) findViewById(R.id.editFer);
		Button buttonConvert = (Button) findViewById(R.id.buttonConvert);

		buttonConvert.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {

				Double c = Double.valueOf(cel.getText().toString());
				Double f = (c - 32) * 5 / 9;
				fer.setText(String.valueOf(f));

				// t °C = (t °F - 32) × 5/9
			}
		});

	}

}

Step 4: Run the application and test

After successfully running, you will find the following temperature converter Android application. Just type some value in the Celsius field and press OK button to see the action.

Comments

    0 of 8192 characters used
    Post Comment

    No comments yet.

    Click to Rate This Article