In previous you learned about textview, edittext , buttons and their most commonly used attributes, lets put all these together and develop an Android App which uses all these viws and their attributes.
Demp Application : “Simple Calculator”
What we will do :We create a layout in which we have user will enter two numbers abd perform “Addition”and “Subtraction” operations.
Our layout will have following views
1: TextView1:to show label “First Number”
2: EditText1:to enter the first number
3: TextView2:to show label “Second Number”
4: EditText:to get the second number
5: Button Add:for Addition
6: Button Subtract:for Subtraction
7: TextView3:to show the answer
When user clicks on ADD or SUBTARCT button we first check that user has entered some number in the edit text and make sure that he/she has not left it blank, if user has left any of the edittext blank we will show a message “Please Enter Both the Numbers”. If user has entered both the numbers , we will perform the operation and show the result in textview3.
Create a new Android Application named “Calculator” and edit files as below
AndroidManifest.xml
<?xml version="1.0"encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.calculator"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.calculator.CalculatorMainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
activity_calculator_main.xml
<?xml version="1.0"encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<!-- TextView for First Number -->
<TextView
android:layout_marginTop="30dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:textColor="#660033"
android:layout_marginLeft="5dp"
android:textStyle="bold"
android:text="First Number" />
<!-- EditText for First Number-->
<EditText
android:id="@+id/editTextFirstNumber"
android:hint="First Number"
android:layout_marginLeft="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number" >
<requestFocus />
</EditText>
<!-- TextView for Second Number -->
<TextView
android:layout_marginTop="15dp"
android:layout_marginLeft="5dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:textColor="#660033"
android:textStyle="bold"
android:text="Second Number" />
<!-- EditText for Second Number-->
<EditText
android:id="@+id/editTextSecondNumber"
android:layout_marginLeft="10dp"
android:hint="Second Number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number" />
<!-- TextView to Show Result -->
<TextView
android:id="@+id/textViewResult"
android:layout_marginTop="30dp"
android:textSize="25dp"
android:textColor="#0000CC"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Result" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal" >
<!-- Button for Addition -->
<Button
android:id="@+id/buttonAdd"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="ADD" />
<!-- Button for Subtraction -->
<Button
android:id="@+id/buttonSubtract"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="SUBTRACT" />
</LinearLayout>
</LinearLayout>
CalculatorMainActivity.java
public class CalculatorMainActivityextends Activity
{
TextView textViewResult;
EditText editTextFirstNumber,editTextSecondNumber;
Button addButton,subtractButton;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculator_main);
// get the for refferences of textView, and EditTexts
textViewResult=(TextView)findViewById(R.id.textViewResult);
editTextFirstNumber=(EditText)findViewById(R.id.editTextFirstNumber);
editTextSecondNumber=(EditText)findViewById(R.id.editTextSecondNumber);
// get the for refferences of both the buttons
addButton=(Button)findViewById(R.id.buttonAdd);
subtractButton=(Button)findViewById(R.id.buttonSubtract);
// set clickListener on add Button
addButton.setOnClickListener(newView.OnClickListener() {
public void onClick(View v)
{
// Get the first number entered by user
String strFirstNumber=editTextFirstNumber.getText().toString();
// Get the second number entered by user
String strSecondNumber=editTextSecondNumber.getText().toString();
/* Check If user has Entered Nothing in either of the Number editText
*if any of the number contains blank string means user has entered nothing */
if(strFirstNumber.equals("")||strSecondNumber.equals(""))
{
Toast.makeText(getApplicationContext(), "Please Eneter Both the Numbers", Toast.LENGTH_LONG).show();
return;
}
// Convert both the Number String to Integer
int firstNumber=Integer.parseInt(strFirstNumber);
intsecondNumber=Integer.parseInt(strSecondNumber);
// perform addition
int result=firstNumber+secondNumber;
/* Convert the result to String type because we have to show the result in String form through textView */
String resultString= String.valueOf(result);
// show the result in textViewResult
textViewResult.setText("Answer is : "+resultString);
}
});
// set clickListener on subtract button Button
subtractButton.setOnClickListener(newView.OnClickListener() {
public void onClick(View v)
{
// Get the first number entered by user
String strFirstNumber=editTextFirstNumber.getText().toString();
// Get the second number entered by user
String strSecondNumber=editTextSecondNumber.getText().toString();
/* Check If user has Entered Nothing in either of the Number
editText if any of the number contains blank string means user has entered nothing */
if(strFirstNumber.equals("")||strSecondNumber.equals(""))
{
Toast.makeText(getApplicationContext(), "Please Eneter Both the Numbers", Toast.LENGTH_LONG).show();
return;
}
// Convert both the Number String to Integer
int firstNumber=Integer.parseInt(strFirstNumber);
intsecondNumber=Integer.parseInt(strSecondNumber);
// perform subtraction
intresult=firstNumber-secondNumber;
/* Convert the result to String type because we have to show
the result in String form through textView */
String resultString= String.valueOf(result);
// show the result in textViewResult
textViewResult.setText("Answer is : "+resultString);
}
});
}
}