신나게 개발하기

Android 계산기 tableLayout 본문

Android 계산기 tableLayout

Yi,Junho 2010. 12. 31. 13:18















안드로이드 계산기 만들기
저걸 시켜서 과제로 만든건데 잘되는지는 모르겠다 ㅎ
package com.junho.cal;

import android.R.color;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class CalActivity extends Activity {
   
	/** Called when the activity is first created. */

    int i;
 
    StringBuffer num1 = new StringBuffer();
    StringBuffer num2 = new StringBuffer();
    EditText result;
    int operationMode=0;
    boolean isFirstNumber = true; 
    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //Edit Text
        result = (EditText)findViewById(R.id.EditText01);
        result.setBackgroundColor(Color.BLACK);
        result.setTextColor(Color.WHITE);
        result.setTextSize(40);
        //버튼
       Button[] digit =new Button[10];
       

      	  digit[0] = (Button)findViewById(R.id.d0);
          Drawable alpha  = digit[0].getBackground();
      	  alpha.setAlpha(0); //알파값 0
      	  
      	  digit[1] = (Button)findViewById(R.id.d1);
          alpha  = digit[1].getBackground();
      	  alpha.setAlpha(0); //알파값 0
      	  
      	  digit[2] = (Button)findViewById(R.id.d2);
          alpha  = digit[2].getBackground();
      	  alpha.setAlpha(0); //알파값 0
      	  
      	  digit[3] = (Button)findViewById(R.id.d3);
          alpha  = digit[3].getBackground();
      	  alpha.setAlpha(0); //알파값 0
      	  
      	  digit[4] = (Button)findViewById(R.id.d4);
          alpha  = digit[4].getBackground();
      	  alpha.setAlpha(0); //알파값 0
      	  
      	  digit[5] = (Button)findViewById(R.id.d5);
          alpha  = digit[5].getBackground();
      	  alpha.setAlpha(0); //알파값 0
      	  
      	  digit[6] = (Button)findViewById(R.id.d6);
          alpha  = digit[6].getBackground();
      	  alpha.setAlpha(0); //알파값 0
      	  
      	  digit[7] = (Button)findViewById(R.id.d7);
          alpha  = digit[7].getBackground();
      	  alpha.setAlpha(0); //알파값 0
      	  
      	  digit[8] = (Button)findViewById(R.id.d8);
          alpha  = digit[8].getBackground();
      	  alpha.setAlpha(0); //알파값 0
      	  
      	  digit[9] = (Button)findViewById(R.id.d9);
          alpha  = digit[9].getBackground();
      	  alpha.setAlpha(0); //알파값 0
      	  
      	  
      	  
      	  for(i=0; i < 10; i++)
      	  {
      		  digit[i].setOnClickListener(new Button.OnClickListener() {
      			  public void onClick(View v) {
      				  if(isFirstNumber)
      				  {
      					  
	      				   if (v.getId() == R.id.d0) {  
	      					 result.append(Integer.toString(0));
	      					 num1.append(Integer.toString(0));
	      				   }
	      				   
	      				   else if (v.getId() == R.id.d1) {  
	        					 result.append(Integer.toString(1));
	        					 num1.append(Integer.toString(1));
	        			   }
	      				   
	      				   else if (v.getId() == R.id.d2) {  
	        					 result.append(Integer.toString(2));
	        					 num1.append(Integer.toString(2));
	        				   }
	      				   else if (v.getId() == R.id.d3) {  
	        					 result.append(Integer.toString(3));
	        					 num1.append(Integer.toString(3));
	        				   }
	      				   else if (v.getId() == R.id.d4) {  
	        					 result.append(Integer.toString(4));
	        					 num1.append(Integer.toString(4));
	        				   }
	      				   else if (v.getId() == R.id.d5) {  
	        					 result.append(Integer.toString(5));
	        					 num1.append(Integer.toString(5));
	        				   }
	      				   else  if (v.getId() == R.id.d6) {  
	        					 result.append(Integer.toString(6));
	        					 num1.append(Integer.toString(6));
	        				   }
	      				   else  if (v.getId() == R.id.d7) {  
	      					 result.append(Integer.toString(7));
	      					num1.append(Integer.toString(7));
	      				   }
	      				   else  if (v.getId() == R.id.d8) {  
	      					 result.append(Integer.toString(8));
	      					num1.append(Integer.toString(8));
	      				   }
	      				   else  if (v.getId() == R.id.d9) {  
	      					 result.append(Integer.toString(9));
	      					num1.append(Integer.toString(9));
	      				   }
      				  }
      				  
      				  else
      				  {
	      				   if (v.getId() == R.id.d0) {  
		      					 result.append(Integer.toString(0));
		      					 num2.append(Integer.toString(0));
		      				   }
		      				   
		      				   else if (v.getId() == R.id.d1) {  
		        					 result.append(Integer.toString(1));
		        					 num2.append(Integer.toString(1));
		        			   }
		      				   
		      				   else if (v.getId() == R.id.d2) {  
		        					 result.append(Integer.toString(2));
		        					 num2.append(Integer.toString(2));
		        				   }
		      				   else if (v.getId() == R.id.d3) {  
		        					 result.append(Integer.toString(3));
		        					 num2.append(Integer.toString(3));
		        				   }
		      				   else if (v.getId() == R.id.d4) {  
		        					 result.append(Integer.toString(4));
		        					 num2.append(Integer.toString(4));
		        				   }
		      				   else if (v.getId() == R.id.d5) {  
		        					 result.append(Integer.toString(5));
		        					 num2.append(Integer.toString(5));
		        				   }
		      				   else  if (v.getId() == R.id.d6) {  
		        					 result.append(Integer.toString(6));
		        					 num2.append(Integer.toString(6));
		        				   }
		      				   else  if (v.getId() == R.id.d7) {  
			      					result.append(Integer.toString(7));
			      					num2.append(Integer.toString(7));
		      				   }
		      				   else  if (v.getId() == R.id.d8) {  
		      					   	result.append(Integer.toString(8));
			      					num2.append(Integer.toString(8));
		      				   }
		      				   else  if (v.getId() == R.id.d9) {  
			      					result.append(Integer.toString(9));
			      					num2.append(Integer.toString(9));
		      				   }
      				  }
				}
               });
      	  }
  	  	
	        Button clearBtn=(Button)findViewById(R.id.clear);
	        
	        clearBtn.setOnClickListener(new Button.OnClickListener() {

				@Override
				public void onClick(View v) {
					  if (v.getId() == R.id.clear)
					  {
						  result.setText(null);
						  num1 = new StringBuffer();
						  num2 = new StringBuffer();
						  isFirstNumber = true;
					  }
						  
					
				}
	        
	        });
	        Button plusBtn=(Button)findViewById(R.id.plus);
	        plusBtn.setOnClickListener(new Button.OnClickListener() {
				@Override
				public void onClick(View v) {
					  if (v.getId() == R.id.plus)
					  {
						  if(isFirstNumber)
						  {
							  isFirstNumber = false;
							  operationMode = 1;
							  result.setText(null);
						  }
						  
					  }
				}
	        });
	        Button minusBtn=(Button)findViewById(R.id.minus);
	        minusBtn.setOnClickListener(new Button.OnClickListener() {
				@Override
				public void onClick(View v) {
					  if (v.getId() == R.id.minus)
					  {
						  if(isFirstNumber)
						  {
							  result.setText(null);
							  isFirstNumber = false;
							  operationMode = 2;
						  }
					  }
				}
	        });
	        Button multiBtn=(Button)findViewById(R.id.multi);
	        multiBtn.setOnClickListener(new Button.OnClickListener() {
				@Override
				public void onClick(View v) {
					  if (v.getId() == R.id.multi)
					  {
						  if(isFirstNumber)
						  {
							  result.setText(null);
							  isFirstNumber = false;
							  operationMode = 3;
						  }
					  }
				}
	        });
	        Button divBtn=(Button)findViewById(R.id.div);
	        divBtn.setOnClickListener(new Button.OnClickListener() {
				@Override
				public void onClick(View v) {
					  if (v.getId() == R.id.div)
					  {
						  if(isFirstNumber)
						  {
							  result.setText(null);
							  isFirstNumber = false;
							  operationMode = 4;
						  }
					  }
				}
	        });
	        Button equalBtn=(Button)findViewById(R.id.equal);
	        equalBtn.setOnClickListener(new Button.OnClickListener() {
				@Override
				public void onClick(View v) {
					  if (v.getId() == R.id.equal)
					  {
						  	String tempNum1=num1.toString();
				  			String tempNum2=num2.toString();
				  			float tempResult;
						  	switch (operationMode)
						  	{
							
						  		case 0:
						  			break;
						  		case 1:

						  			tempResult=Float.parseFloat(tempNum1)+Float.parseFloat(tempNum2);
						  			result.setText(Float.toString(tempResult));
						  			num1=new StringBuffer();
						  			num2=new StringBuffer();
						  			num1.append(Float.toString(tempResult));
						  			operationMode=0;
						  			isFirstNumber=true;
						  			break;
						  		case 2:
						  			tempResult=Float.parseFloat(tempNum1)-Float.parseFloat(tempNum2);
						  			result.setText(Float.toString(tempResult));
						  			num1=new StringBuffer();
						  			num2=new StringBuffer();
						  			num1.append(Float.toString(tempResult));
						  			operationMode=0;
						  			isFirstNumber=true;
						  			break;
						  			
						  		case 3:
						  			tempResult=Float.parseFloat(tempNum1)*Float.parseFloat(tempNum2);
						  			result.setText(Float.toString(tempResult));
						  			num1=new StringBuffer();
						  			num2=new StringBuffer();
						  			num1.append(Float.toString(tempResult));
						  			operationMode=0;
						  			isFirstNumber=true;
						  			break;
						  		
						  		case 4:
						  			tempResult=Float.parseFloat(tempNum1)/Float.parseFloat(tempNum2);
						  			result.setText(Float.toString(tempResult));
						  			num1=new StringBuffer();
						  			num2=new StringBuffer();
						  			num1.append(Float.toString(tempResult));
						  			operationMode=0;
						  			isFirstNumber=true;
						  			break;
						  	}
						  	
					  }
					  else
					  {
					  
					  }
				}
	        });
	  	  	Drawable alpha1 = clearBtn.getBackground();
	  	  	alpha1.setAlpha(0); //알파값 0
	  	 	alpha1 = plusBtn.getBackground();
	  	  	alpha1.setAlpha(0); //알파값 0
	  	  	alpha1 = minusBtn.getBackground();
	  	  	alpha1.setAlpha(0); //알파값 0
	  	  	alpha1 = divBtn.getBackground();
	  	  	alpha1.setAlpha(0); //알파값 0
	  	  	alpha1 = multiBtn.getBackground();
	  	  	alpha1.setAlpha(0); //알파값 0
	  	  	alpha1 = equalBtn.getBackground();
	  	  	alpha1.setAlpha(0); //알파값 0
	  	  	
	      	Button s1Btn=(Button)findViewById(R.id.s1);
	      	Button s2Btn=(Button)findViewById(R.id.s2);
	      	Button s3Btn=(Button)findViewById(R.id.s3);
	      	Button dotBtn=(Button)findViewById(R.id.s4);
	      	dotBtn.setOnClickListener(new Button.OnClickListener() {
				@Override
				public void onClick(View v) {
					  if (v.getId() == R.id.s4)
					  {
						  if(isFirstNumber)
						  {
		      					 result.append(".");
		      					 num1.append(".");
						  }
						  else
						  {
		      					 result.append(".");
		      					 num2.append(".");
						  }
					  }
				}
	        });
	      	
	  	  	alpha1 = s1Btn.getBackground();
	  	  	alpha1.setAlpha(0); //알파값 0
	  	  	
	  	  	alpha1 = s2Btn.getBackground();
	  	  	alpha1.setAlpha(0); //알파값 0
	  	  	alpha1 = s3Btn.getBackground();
	  	  	alpha1.setAlpha(0); //알파값 0
	  	  	alpha1 = dotBtn.getBackground();
	  	  	alpha1.setAlpha(0); //알파값 0
	 
    
    }
    
    
 
}



   
	
   
   
   
   
   
   
   
    
    
    
    
    
    

'' 카테고리의 다른 글

Android 계산기 tableLayout  (0) 2010.12.31
dialogbox 리스너 익명클래스 대신 내부클래스 사용  (0) 2010.12.31
안드로이드 전화 권한 메인페스트  (0) 2010.12.28
백그라운드 문제  (0) 2010.12.27
XML 하드 코딩  (0) 2010.12.27
0 Comments
댓글쓰기 폼