Calculator Part 1-Shuttereditz.blogspot.com
Transcript of Calculator Part 1-Shuttereditz.blogspot.com
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
1/19
shutter Adobe Photoshop Tutorials
0 shuttereditz.blogspot.com
f /shuttereditz
Android
Studio
Tutorial
Calculator Par t 1: Simple Calculations
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
2/19
shutter Adobe Photoshop Tutorials
1 shuttereditz.blogspot.com
f /shuttereditz
Intro:
In this Tutorial we are going to start a new project Calculator.
First of all, to start with we are going to create a simple calculator to do simple arithmetic operations (i.e., oneoperator and two operands).
Step 1:
Start Android Studio .Create a new Project .
Application Name : ‘Calculus’ or anything you like
Target Android devices >>
Check Phone and Tablet
Minimum SDK – Android 2.3 Gingerbread
Select a Blank Activity >>
Click Finish keeping the default settings for Activity (Name: Main Activity…..).
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
3/19
shutter Adobe Photoshop Tutorials
2 shuttereditz.blogspot.com
f /shuttereditz
Step 2: Setting Up Layout
Skip to XML Code
First of all insert a Linear Layout (Vertical ) inside the Relative Layout. (Delete the Hello World).
Next Insert a Text Field inside the Linear Layout (Vertical ).
Change the following settings for the Text Field in the XML tab.
Now go back to Design tab insert a Table Layout below the Text Field ‘txtScreen’ .
Now insert a Table Row inside the Table Layout
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
4/19
shutter Adobe Photoshop Tutorials
3 shuttereditz.blogspot.com
f /shuttereditz
Change its settings in XML/Text tab
Go to Design Tab and insert Buttons for operators in the first row.
Insert a new Table Row below the first one and add Buttons to it to finish the Layout.
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
5/19
shutter Adobe Photoshop Tutorials
4 shuttereditz.blogspot.com
f /shuttereditz
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
6/19
shutter Adobe Photoshop Tutorials
5 shuttereditz.blogspot.com
f /shuttereditz
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
7/19
shutter Adobe Photoshop Tutorials
6 shuttereditz.blogspot.com
f /shuttereditz
Apply the same settings to all the Table Rows
Change the id-s for all Buttons according to this Table:
Button Button Id
Button 0 btn0
Button 1 btn1
Button 2 btn2
Button 3 btn3
Button 4 btn4
Button 5 btn5
Button 6 btn6
Button 7 btn7
Button 8 btn8
Button 9 btn9
Button + btnAdd
Button - btnSubtract
Button * btnMultiply
Button / btnDivide
Button C btnClear
Button . btnDot
For Equals Button apply the following settings
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
8/19
shutter Adobe Photoshop Tutorials
7 shuttereditz.blogspot.com
f /shuttereditz
The final xml code will be:
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
9/19
shutter Adobe Photoshop Tutorials
8 shuttereditz.blogspot.com
f /shuttereditz
android:layout_height="wrap_content" android:text="*" android:id ="@+id/btnMultiply" />
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
10/19
shutter Adobe Photoshop Tutorials
9 shuttereditz.blogspot.com
f /shuttereditz
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
11/19
shutter Adobe Photoshop Tutorials
10 shuttereditz.blogspot.com
f /shuttereditz
android:layout_height="wrap_content" android:text="=" android:id ="@+id/btnEquals" android:layout_span="4" />
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
12/19
shutter Adobe Photoshop Tutorials
11 shuttereditz.blogspot.com
f /shuttereditz
Step 3: Setting Up Java
Delete the onCreateOptionsMenu and onOptionsItemSelected functions. We don’t need them…
package com.blogspot.shuttereditz.calculus;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Below - public class MainActivity extends ActionBarActivity – Insert the code:
private EditText Scr;
private float NumberBf =0, NumAf, result=0;
private String Operation, mod= "replace";
Inside the onCreate() function below the setContentView(R.layout.activity_main); Add the following
code:-
Scr = (EditText) findViewById(R.id.txtScreen); Scr.setText("");
To add functions to the Buttons create an Array of Id’s by inserting this code below:
int idList[] = {R.id.btn0 , R.id.btn1, R.id.btn2 , R.id.btn2 , R.id.btn3 , R.id.btn4, R.id.btn5 , R.id.btn6 , R.id.btn7 , R.id.btn8 , R.id.btn9 ,
R.id.btnAdd , R.id.btnSubtract, R.id.btnMultiply , R.id.btnDivide,
R.id.btnClear ,R.id.btnEquals, R.id.btnDot};
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
13/19
shutter Adobe Photoshop Tutorials
12 shuttereditz.blogspot.com
f /shuttereditz
Now set the Onclick functions to these Buttons:
for(int id:idList) {
View v = (View) findViewById(id);
v.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onButtonClick(v); }
}); }
Below the OnCreate() function create a new function onButtonClick();
public void onButtonClick(View v) { switch (v.getId()) {
case R.id.btnClear : //ClearScr.setText(""); NumberBf = 0; Operation = "";
break;
case R.id.btnAdd :
mMath("+");
break;
case R.id.btnSubtract:
if(mod.equals("replace")) { String numb = ((Button) v).getText().toString();
getKeyboard(numb);
} else mMath("-");
break;
case R.id.btnMultiply :
mMath("*"); break;
case R.id.btnDivide:
mMath("/"); break;
case R.id.btnEquals: mResult();
Operation = "";
NumberBf = 0; break;
default:
String numb = ((Button) v).getText().toString(); getKeyboard(numb);
break; }
}
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
14/19
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
15/19
shutter Adobe Photoshop Tutorials
14 shuttereditz.blogspot.com
f /shuttereditz
Now add the following code:
public void getKeyboard(String str) {
String ScrTxt = Scr.getText().toString(); ScrTxt += str;
if( mod .equals("add")) Scr.setText(ScrTxt);
else Scr.setText(str);
mod = "add"; }
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
16/19
shutter Adobe Photoshop Tutorials
15 shuttereditz.blogspot.com
f /shuttereditz
The complete Java Code is:
package com.blogspot.shuttereditz.calculus;
import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
private EditText Scr; private float NumberBf=0, NumAf, result=0; private String Operation, mod="replace";
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
Scr = (EditText) findViewById(R.id.txtScreen);
Scr.setText("");
int idList[] = {R.id.btn0 , R.id.btn1, R.id.btn2 , R.id.btn2 , R.id.btn3 , R.id.btn4,
R.id.btn5 , R.id.btn6 , R.id.btn7 , R.id.btn8 , R.id.btn9 , R.id.btnAdd , R.id.btnSubtract, R.id.btnMultiply , R.id.btnDivide,
R.id.btnClear ,R.id.btnEquals, R.id.btnDot, };
for(int id:idList) { View v = (View) findViewById(id); v.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
onButtonClick(v); }
}); }
}
public void mMath(String str) {
mResult();
try { NumberBf = Float.parseFloat(Scr.getText().toString());
Operation = str; }catch (Exception e) {
Toast.makeText(getApplicationContext(),(CharSequence) e, Toast.LENGTH_SHORT).show(); Scr.setText("SYNTAX ERROR");
mod ="replace";
}
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
17/19
shutter Adobe Photoshop Tutorials
16 shuttereditz.blogspot.com
f /shuttereditz
}
public void mResult() { NumAf = 0;
if(!Scr.getText().toString().trim().isEmpty())
NumAf = Float.parseFloat(Scr.getText().toString()); result = NumAf;
try {
switch (Operation) { case "+":
result = NumAf + NumberBf;
break; case "-":
result = NumberBf - NumAf;
break; case "*":
result = NumAf * NumberBf;
break; case "/":
result = NumberBf / NumAf; break;
default: result = NumAf;
break; }
} catch (Exception e) { e.printStackTrace();
}
Scr.setText(String.valueOf(result));
mod = "replace";
}
public void getKeyboard(String str) { String ScrTxt = Scr.getText().toString(); ScrTxt += str; if(mod.equals("add"))
Scr.setText(ScrTxt);
else Scr.setText(str);
mod = "add";
}
public void onButtonClick(View v) { switch (v.getId()) {
case R.id.btnClear : //Clear
Scr.setText("");
NumberBf = 0; Operation = "";
break;
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
18/19
shutter Adobe Photoshop Tutorials
17 shuttereditz.blogspot.com
f /shuttereditz
case R.id.btnAdd :
mMath("+"); break;
case R.id.btnSubtract: if(mod.equals("replace")) {
String numb = ((Button) v).getText().toString(); getKeyboard(numb);
} else mMath("-");
break;
case R.id.btnMultiply :
mMath("*"); break;
case R.id.btnDivide: mMath("/");
break;
case R.id.btnEquals:
mResult(); Operation = "";
NumberBf = 0;
break;
default: String numb = ((Button) v).getText().toString(); getKeyboard(numb);
break; }
}
}
-
8/19/2019 Calculator Part 1-Shuttereditz.blogspot.com
19/19
shutter Adobe Photoshop Tutorials
18 shuttereditz.blogspot.com
f /shuttereditz
Now let’s check it out:
That’s it….. We have completed creating a simple calculator. Thank you for using this tutorial…ENJOY!
VISIT US
shuttereditz.blogspot.com
http://shuttereditz.blogspot.com/http://shuttereditz.blogspot.com/http://shuttereditz.blogspot.com/