Advertisement
cloud101eu

Cloud101.eu: Calculator Cloud101CalculatorActivity.java

Mar 10th, 2012
1,795
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.12 KB | None | 0 0
  1. package com.cloud101;
  2.  
  3. import com.cloud101.calculator.Calculator;
  4. import com.cloud101.windows.Alertwindow;
  5.  
  6. import android.app.Activity;
  7. import android.content.Intent;
  8. import android.net.Uri;
  9. import android.os.Bundle;
  10. import android.util.Log;
  11. import android.view.View;
  12. import android.widget.Button;
  13. import android.widget.EditText;
  14. import android.widget.ImageButton;
  15. import android.widget.ImageView;
  16.  
  17. public class Cloud101CalculatorActivity extends Activity {
  18.     /** Called when the activity is first created. */
  19.     private String numberDisplayed = "";
  20.     private Double resultNumber = 0.0;
  21.     private Calculator calc = new Calculator();
  22.     private EditText textView, resultView;
  23.     private boolean plus, minus, devide, mult = false;
  24.     protected String storedNumber;
  25.    
  26.  
  27.     private void updateTextField() {
  28.         textView.setText(this.numberDisplayed);
  29.         resultView.setText(this.resultNumber.toString());
  30.  
  31.     }
  32.  
  33.     @Override
  34.     public void onCreate(Bundle savedInstanceState) {
  35.         super.onCreate(savedInstanceState);
  36.         setContentView(R.layout.main);
  37.         textView = (EditText) findViewById(R.id.entry);
  38.         resultView = (EditText) findViewById(R.id.result);
  39.         ImageView image = (ImageView) findViewById(R.id.c101_image);
  40.  
  41.         final Button button0 = (Button) findViewById(R.id.button0);
  42.        
  43.         button0.setOnClickListener(new View.OnClickListener() {
  44.             public void onClick(View v) {
  45.                 numberDisplayed += "0";
  46.                 updateTextField();
  47.             }
  48.         });
  49.  
  50.         final Button button1 = (Button) findViewById(R.id.button1);
  51.        
  52.         button1.setOnClickListener(new View.OnClickListener() {
  53.             public void onClick(View v) {
  54.                 numberDisplayed += "1";
  55.                 updateTextField();
  56.             }
  57.         });
  58.  
  59.         final Button buttonBs = (Button) findViewById(R.id.buttonBackspace);
  60.         buttonBs.setOnClickListener(new View.OnClickListener() {
  61.             public void onClick(View v) {
  62.                 if (numberDisplayed.length() >= 1) {
  63.                     numberDisplayed = numberDisplayed.substring(0,
  64.                             numberDisplayed.length() - 1);
  65.                 }
  66.                 updateTextField();
  67.             }
  68.         });
  69.  
  70.         final Button button2 = (Button) findViewById(R.id.button2);
  71.         button2.setOnClickListener(new View.OnClickListener() {
  72.             public void onClick(View v) {
  73.                 numberDisplayed += "2";
  74.                 updateTextField();
  75.             }
  76.         });
  77.  
  78.         final Button button3 = (Button) findViewById(R.id.button3);
  79.         button3.setOnClickListener(new View.OnClickListener() {
  80.             public void onClick(View v) {
  81.                 numberDisplayed += "3";
  82.                 updateTextField();
  83.             }
  84.         });
  85.  
  86.         final Button button4 = (Button) findViewById(R.id.button4);
  87.         button4.setOnClickListener(new View.OnClickListener() {
  88.             public void onClick(View v) {
  89.                 numberDisplayed += "4";
  90.                 updateTextField();
  91.             }
  92.         });
  93.  
  94.         final Button button5 = (Button) findViewById(R.id.button5);
  95.         button5.setOnClickListener(new View.OnClickListener() {
  96.             public void onClick(View v) {
  97.                 numberDisplayed += "5";
  98.                 updateTextField();
  99.             }
  100.         });
  101.  
  102.         final Button button6 = (Button) findViewById(R.id.button6);
  103.         button6.setOnClickListener(new View.OnClickListener() {
  104.             public void onClick(View v) {
  105.                 numberDisplayed += "6";
  106.                 updateTextField();
  107.             }
  108.         });
  109.  
  110.         final Button button7 = (Button) findViewById(R.id.button7);
  111.         button7.setOnClickListener(new View.OnClickListener() {
  112.             public void onClick(View v) {
  113.                 numberDisplayed += "7";
  114.                 updateTextField();
  115.             }
  116.         });
  117.  
  118.         final Button button8 = (Button) findViewById(R.id.button8);
  119.         button8.setOnClickListener(new View.OnClickListener() {
  120.             public void onClick(View v) {
  121.                 numberDisplayed += "8";
  122.                 updateTextField();
  123.             }
  124.         });
  125.  
  126.         final Button button9 = (Button) findViewById(R.id.button9);
  127.         button9.setOnClickListener(new View.OnClickListener() {
  128.             public void onClick(View v) {
  129.                 numberDisplayed += "9";
  130.                 updateTextField();
  131.             }
  132.         });
  133.  
  134.         final Button buttonClear = (Button) findViewById(R.id.buttonClear);
  135.         buttonClear.setOnClickListener(new View.OnClickListener() {
  136.             public void onClick(View v) {
  137.                 numberDisplayed = "";
  138.                 storedNumber = "";
  139.                 plus = false;
  140.                 devide = false;
  141.                 minus = false;
  142.                 mult = false;
  143.                 resultNumber = 0d;
  144.                 updateTextField();
  145.             }
  146.         });
  147.  
  148.         final Button buttonPlus = (Button) findViewById(R.id.buttonPlus);
  149.         buttonPlus.setOnClickListener(new View.OnClickListener() {
  150.             public void onClick(View v) {
  151.                 processNumbers();
  152.                 plus = true;
  153.                 devide = false;
  154.                 minus = false;
  155.                 mult = false;
  156.  
  157.             }
  158.  
  159.         });
  160.         final Button buttonDot = (Button) findViewById(R.id.buttonDot);
  161.         buttonDot.setOnClickListener(new View.OnClickListener() {
  162.             public void onClick(View v) {
  163.                 if (numberDisplayed.equals("")) {
  164.                     numberDisplayed = "0.";
  165.                 } else if (!numberDisplayed.contains(".")) {
  166.                     numberDisplayed += ".";
  167.                 }
  168.                 updateTextField();
  169.             }
  170.         });
  171.  
  172.         final Button buttonMinus = (Button) findViewById(R.id.buttonMinus);
  173.         buttonMinus.setOnClickListener(new View.OnClickListener() {
  174.             public void onClick(View v) {
  175.  
  176.                 processNumbers();
  177.                 plus = false;
  178.                 devide = false;
  179.                 minus = true;
  180.                 mult = false;
  181.             }
  182.         });
  183.  
  184.         final Button buttonEq = (Button) findViewById(R.id.buttonEq);
  185.         buttonEq.setOnClickListener(new View.OnClickListener() {
  186.             public void onClick(View v) {
  187.  
  188.                 processNumbers();
  189.             }
  190.         });
  191.  
  192.         final Button buttonMult = (Button) findViewById(R.id.buttonMult);
  193.         buttonMult.setOnClickListener(new View.OnClickListener() {
  194.             public void onClick(View v) {
  195.  
  196.                 processNumbers();
  197.                 plus = false;
  198.                 devide = false;
  199.                 minus = false;
  200.                 mult = true;
  201.             }
  202.         });
  203.        
  204.         final Button buttonDevide = (Button) findViewById(R.id.buttonDevide);
  205.         buttonDevide.setOnClickListener(new View.OnClickListener() {
  206.             public void onClick(View v) {
  207.  
  208.                 processNumbers();
  209.                 plus = false;
  210.                 devide = true;
  211.                 minus = false;
  212.                 mult = false;
  213.                
  214.                
  215.             }
  216.         });
  217.        
  218.         final ImageButton c101_image = (ImageButton) findViewById(R.id.c101_image);
  219.         c101_image.setOnClickListener(new View.OnClickListener() {
  220.             public void onClick(View v) {      
  221.                 Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://cloud101.eu/blog"));
  222.                 startActivity(browserIntent);
  223.             }
  224.         });
  225.  
  226.     }
  227.  
  228.  
  229.     protected void devideAlert() {
  230.         Alertwindow alert = new Alertwindow(this,"Can't devide by zero");
  231.        
  232.     }
  233.  
  234.     private void processNumbers() {
  235.  
  236.         testNumberDisplayed();
  237.         if (plus) {
  238.             resultNumber = calc.sum(Double.parseDouble(numberDisplayed),
  239.                     resultNumber);
  240.         } else
  241.  
  242.         if (minus) {
  243.             resultNumber = calc.difference(resultNumber,
  244.                     Double.parseDouble(numberDisplayed));
  245.         } else if (mult) {
  246.             resultNumber = calc.product(resultNumber,
  247.                     Double.parseDouble(numberDisplayed));
  248.         } else if (devide) {
  249.             String resultDev = calc.devide(resultNumber, Double.parseDouble(numberDisplayed));
  250.             if(resultDev.equals("Can't devide by zero")){
  251.                 devideAlert();
  252.             }else{
  253.                 resultNumber = new Double(resultDev);
  254.             }
  255.         } else {
  256.             resultNumber = new Double(numberDisplayed);
  257.         }
  258.  
  259.         numberDisplayed = "";
  260.         updateTextField();
  261.     }
  262.  
  263.     private void testNumberDisplayed() {
  264.         if (numberDisplayed.equals("")) {
  265.             if (!mult && !devide) {
  266.                 numberDisplayed = "0";
  267.             } else {
  268.                 numberDisplayed = "1";
  269.             }
  270.  
  271.         }
  272.  
  273.     }
  274. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement