Friday, July 5, 2013

Simple Calculator Using Mono for Android


Here in this article you will learn how to create a simple calculator application using Mono for Android The calculator will have the following functionality:
  • Addition
  • Subtraction
  • Division
  • Multiplication
Steps to create Calculator in Mono for Android
  1. Create a new Mono for Android application named "Calculator".

    mono for android application
     
  2. Go to main.xml file inside Resources/Layout and overwrite all existing code by pasting the DroidDraw copied code.

    main.axml page in android application
    pest the scrit in main.axml page
     
  3. Here is the complete code of main.xml file.

    <?xml version="1.0" encoding="utf-8"?>
     
    <AbsoluteLayout
     
    android:id="@+id/widget0"
     
    android:layout_width="fill_parent"
     
    android:layout_height="fill_parent"
     
    android:background="#808080ff"
     
    xmlns:android="http://schemas.android.com/apk/res/android"
     
    >
     
      <TextView
     
      android:id="@+id/Rlable"
     
      android:layout_width="wrap_content"
     
      android:layout_height="wrap_content"
     
      android:textColor="#ffffffff"
     
      android:text="Result"
     
      android:layout_x="11px"
     
      android:layout_y="37px"
     
    />
       <
    EditText
     
      android:id="@+id/Redittbox"
     
      android:layout_width="240px"
     
      android:layout_height="wrap_content"
     
      android:textSize="18sp"
     
      android:layout_x="70px"
     
      android:layout_y="28px"
     
    />
       <
    TextView
      
    android:id="@+id/Fvalue"
     
      android:layout_width="wrap_content"
     
      android:layout_height="wrap_content"
     
      android:text="Enter First Value"
     
      android:layout_x="11px"
     
      android:layout_y="107px"
     
    />
       <
    TextView
     
      android:id="@+id/Svalue"
     
      android:layout_width="wrap_content"
     
      android:layout_height="wrap_content"
     
      android:text="Enter Second Value"
     
      android:layout_x="12px"
     
      android:layout_y="155px"
     
    />
       <
    EditText
     
      android:id="@+id/FVeditbox"
     
      android:layout_width="67px"
     
      android:layout_height="wrap_content"
     
      android:textSize="18sp"
     
      android:layout_x="180px"
     
      android:layout_y="99px"
     
    />
       <
    EditText
     
      android:id="@+id/SVeditbox"
     
      android:layout_width="67px"
     
      android:layout_height="wrap_content"
     
      android:textSize="18sp"
     
      android:layout_x="179px"
     
      android:layout_y="146px"
     
    />
       <
    TextView
     
      android:id="@+id/OPlable"
     
      android:layout_width="wrap_content"
     
      android:layout_height="wrap_content"
     
      android:text="Select the Operation"
     
      android:textSize="16sp"
     
      android:layout_x="77px"
     
      android:layout_y="216px"
     
    />
       <
    Button
     
      android:id="@+id/addition"
     
      android:layout_width="46px"
     
      android:layout_height="wrap_content"
     
      android:text="+"
     
      android:textSize="20sp"
     
      android:layout_x="18px"
     
      android:layout_y="266px"
     
    />
       <
    Button
     
      android:id="@+id/subtraction"
     
      android:layout_width="46px"
     
      android:layout_height="wrap_content"
     
      android:text="-"
     
      android:textSize="20sp"
     
      android:layout_x="91px"
     
      android:layout_y="266px"
     
    />
       <
    Button
     
      android:id="@+id/multiplication"
     
      android:layout_width="46px"
     
      android:layout_height="wrap_content"
     
      android:text="*"
     
      android:textSize="20sp"
     
      android:layout_x="167px"
     
      android:layout_y="266px"
     
    />
       <
    Button
     
      android:id="@+id/division"
     
      android:layout_width="46px"
     
      android:layout_height="wrap_content"
     
      android:text="/"
     
      android:textSize="20sp"
     
      android:layout_x="241px"
     
      android:layout_y="266px"
     
    />
       <
    TextView
     
      android:id="@+id/error"
     
      android:layout_width="wrap_content"
     
      android:layout_height="wrap_content"
     
    />
     </
    AbsoluteLayout>
  4. Now go to Activity1.cs file and inside the OnCreate() method we will creating and initialize all variables and create function for all theclick's.

    avtivity1 class in android application

    oncreate methode of android application

     
  5. First associate with all widget which we create in the XML code.Button btnadd = FindViewById<Button>(Resource.Id.addition);
    Button btnsub = FindViewById<Button>(Resource.Id.subtraction);
    Button btnmult = FindViewById<Button>(Resource.Id.multiplication);
    Button btndiv = FindViewById<Button>(Resource.Id.division);

    EditText firstvalue = FindViewById<EditText>(Resource.Id.FVeditbox);
    EditText secondvalue = FindViewById<EditText>(Resource.Id.SVeditbox);
    EditText result = FindViewById<EditText>(Resource.Id.Redittbox);

    TextView errormsg = FindViewById<TextView>(Resource.Id.error);


    Here we create variable for all the widget's and associate this variable to the widget by using
    FindViewById<widget_type>(Resource.Id.widget_name).
     
  6. Now we create three variable for the operation's and create click event for all the buttons. Like the example below:double a, b, c;

    Button_name.Click += delegate{
        try
       
    {
            // To Do....
        }
        catch (Exception ex)
        {
            // To Do....
        }
    };
     
  7. Here is the complete code of Activity1.cs file.using System; using Android.App;using Android.Content;using Android.Runtime;using Android.Views;using Android.Widget;using Android.OS;namespace Calculator
    {
        [Activity(Label ="Calculator", MainLauncher =true, Icon = "@drawable/icon")]

        public classActivity1 : Activity    {
            protected override void OnCreate(Bundle bundle)
            {
                base.OnCreate(bundle);

                SetContentView(Resource.Layout.Main);

                Button btnadd = FindViewById<Button>(Resource.Id.addition);
                Button btnsub = FindViewById<Button>(Resource.Id.subtraction);
                Button btnmult = FindViewById<Button>(Resource.Id.multiplication);
                Button btndiv = FindViewById<Button>(Resource.Id.division);

                EditText firstvalue = FindViewById<EditText>(Resource.Id.FVeditbox);
                EditText secondvalue = FindViewById<EditText>(Resource.Id.SVeditbox);
                EditText result = FindViewById<EditText>(Resource.Id.Redittbox);

                TextView errormsg = FindViewById<TextView>(Resource.Id.error);

                double a, b, c;

                btnadd.Click += delegate            {
                    try                {
                        a = double.Parse(firstvalue.Text);
                        b = double.Parse(secondvalue.Text);
                        c = a + b;
                        result.Text = c.ToString();
                    }
                    catch (Exception ex)
                    {
                        errormsg.Text = ex.Message;
                    }
                };

                btnsub.Click += delegate            {
                    try                {
                        a = double.Parse(firstvalue.Text);
                        b = double.Parse(secondvalue.Text);
                        c = a - b;
                        result.Text = c.ToString();
                    }
                    catch (Exception ex)
                    {
                        errormsg.Text = ex.Message;
                    }
                };

                btnmult.Click += delegate            {
                    try                {
                        a = double.Parse(firstvalue.Text);
                        b = double.Parse(secondvalue.Text);
                        c = a * b;
                        result.Text = c.ToString();
                    }
                    catch (Exception ex)
                    {
                        errormsg.Text = ex.Message;
                    }
                };

                btndiv.Click += delegate            {
                    try                {
                        a = double.Parse(firstvalue.Text);
                        b = double.Parse(secondvalue.Text);
                        c = a / b;
                        result.Text = c.ToString();
                    }
                    catch (Exception ex)
                    {
                        errormsg.Text = ex.Message;
                    }
                };

            }
        }
    }
     
  8. Now Build and compile the application, the output looks like the below picture.

    output of calculator in android
Now enter the both values

         input values for android calculator

Now select operation which you want to perform, like I select Addition first and the result will come out in the Result EditBox

        addition in android application

Now select Subtraction and result will change to subtracted result

        subtraction in android application

Now select Multiplication the multiplication of both values will shows
     
        multiplication in android application

Now click on Division sign the output will comes in result box

        division in android application

No comments:

Post a Comment