intent를 활용한 전화걸기 어플

 

 

 

 

 

 

 

Intent를 통해 전화거는 다이얼 입력 화면까지만 전달해 준다.

 

MainActivity

package kr.teamcadi.callactivity;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn_intent = (Button)findViewById(R.id.btn_intent);

        btn_intent.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("tel:010-3792-8160")));
            }
    });
    }
}

 

Array & ArrayList

 

 

Array 와 ArrayList는 비슷하면서도 큰 차이가 있다.

 

 

 

1. Array는 정적인 배열이고 ArrayList는 동적인 배열이다. 즉 Array는 배열의 크기를 늘리거나 줄일 수 없으며 ArrayList는 변할 수 있다. 

 

2. 크기가 불변인 Array는 크기가 정해져 있기 때문에 초기화시 메모리가 할당되어 속도가 빠르고

ArrayList는 반대로 느리다. 상황에 맞게 사용하면 된다.

 

 

3. Array는 primitive 타입과 Object를 선언할 수 있지만 ArrayList는 Object로만 가능하다.

Array -( int,char,float,double ... )

ArrayList - (Integer,String ...)

 

 

 

 

Array

int[] array = new int[5];
for(int i=0;i<5;i++){
	array[i]=i+1;
}
// array[0]=1  array[1]=2  array[2]=3  array[3]=4  array[4]=5

 

 

 

 

 

ArrayList

  •  add 나 remove로 크기 변화 가능
ArrayList<Integer> arrayList = new ArrayList<>();
for(int i=0;i<5;i++){
	arrayList.add(i);
 }
// arrayList 에 1,2,3,4,5 추가

arrayList.remove(1);
//1번째 인덱스 삭제 -> 값이 1인 리스트 삭제가 아님!

계산기 만들기

 

 

어플 화면

 

 

 

 

 

activity_main.xml

 

 

 

LinearLayout,RelativeLayout,TableLayout을 사용한다.

 

button이 눌릴 때 발생하는 setOnClickListener를 이용하여 만든다.

 

 각 버튼이 눌렸을 때 case문으로 각각의 기능을 구현하였다.

 

 

 

ex> '='버튼

 case R.id.btn_result:
                        num_Sec = txt_result.getText().toString();
                        save += txt_result.getText().toString();
                        txt_result.setText(save);

                        Double num1 = Double.parseDouble(num_fst);
                        Double num2 = Double.parseDouble(num_Sec);

                        switch (calculate) {
                            case 1:
                                String result_1 = String.valueOf(num1 + num2);
                                txt_result.setText(result_1);
                                break;
                            case 2:
                                String result_2 = String.valueOf(num1 - num2);
                                txt_result.setText(result_2);
                                break;
                            case 3:
                                String result_3 = String.valueOf(num1 * num2);
                                txt_result.setText(result_3);
                                break;
                            case 4:
                                try {
                                    String result_4 = String.valueOf(num1 / num2);
                                    txt_result.setText(result_4);
                                }
                                catch (ArithmeticException e){
                                    Toast.makeText(getApplicationContext(),"0으로 나눌 수 없습니다", Toast.LENGTH_LONG).show();
                                }
                                break;
                            case 5:
                                try {
                                    String result_5 = String.valueOf(num1 % num2);
                                    txt_result.setText(result_5);
                                }
                                catch (ArithmeticException e) {
                                    Toast.makeText(getApplicationContext(),"0으로 나눌 수 없습니다", Toast.LENGTH_LONG).show();
                                }
                                break;

                        }
                        num_fst = txt_result.getText().toString();
                        break;

 

문제점 

8+3+4+5를 계산하면 마지막 두 숫자만 계산이 된다.. 따라서 4+5=9라는 계산결과만 나오고

이 계산기로 계산을 하려면 4+5=9+5=14 이런식으로 2번씩 끊어서 해야한다..

이를 해결해야 하기 위핸 어떻게 해야 할까?

CalculateActivity.zip
0.14MB

 

+ Recent posts