calculator part 1-shuttereditz.blogspot.com

Upload: monika

Post on 07-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 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/