오늘이라도

[Android] 3. 아이콘 지정, 버튼 - 알람창 띄우기, 버튼 - 네이버 연결, 버튼 - 전화 연결, 전화 번호 입력 칸 만들기 본문

취업성공패키지 SW 개발자 교육/Android

[Android] 3. 아이콘 지정, 버튼 - 알람창 띄우기, 버튼 - 네이버 연결, 버튼 - 전화 연결, 전화 번호 입력 칸 만들기

upcake_ 2020. 5. 8. 09:29
반응형

https://github.com/upcake/Class_Examples

교육 중에 작성한 예제들은 깃허브에 올려두고 있습니다. 

gif 파일은 클릭해서 보는 것이 정확합니다.


 - 아이콘 지정하기 -

▲그림 저장 위치

 - 애플리케이션에 필요한 이미지 파일의 대부분은 res\drawable 폴더에 저장한다.

 

 - 저장할 때 v24를 선택하지 않도록 주의한다.

 

▲AndroidManifest.xml

 - AndroidManifest.xml의 7번, 9번 라인을 수정하여 애플리케이션의 아이콘을 변경할 수 있다.

 

 

▲변경한 아이콘

 

 - 버튼 - 알람 창 띄우기 -

 

▲버튼 추가하기

 - Attributes 탭의 id 칸으로 id를 지정하고 onClick 칸으로 버튼을 지정했을 때 발생하는 메서드의 이름을 지정한다.

 

 - 스마트폰 화면에 작은 알람 창을 띄우는 것을 toast라 한다.

 - Toast 자동 완성을 할 때 Create a new Toast로 하는 것을 권장한다.

 

package com.example.my01_helloworld;

import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) { // onCreate() : 메모리에 등록하면서 작동하는 메서드
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); // setContentView() : 매개 변수를 화면에 출력하는 메서드
        // R. : resource(res)의 약자
    }
    public void btn1Clicked(View view) {
        Toast.makeText(this, "버튼1 클릭!", Toast.LENGTH_SHORT).show();
        // context : 어디에 있는지 환경을 지정
        // this : 현재 참조중인 MainActivity를 지정
        // LENGTH_SHORT : 2 ~ 3초 정도 보여줌
        // LENGTH_LONG : 5초 정도 보여줌
    }
}

 

▲버튼 - 알람창 작동 화면

 

 - 버튼 - 네이버 연결 -

▲버튼 추가

 

package com.example.my01_helloworld;

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

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) { // onCreate() : 메모리에 등록하면서 작동하는 메서드
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); // setContentView() : 매개 변수를 화면에 출력하는 메서드
        // R. : resource(res)의 약자
    }
    public void btn1Clicked(View view) {
        Toast.makeText(this, "버튼1 클릭!", Toast.LENGTH_SHORT).show();
        // context : 어디에 있는지 환경을 지정
        // this : 현재 참조중인 MainActivity를 지정
        // LENGTH_SHORT : 2 ~ 3초 정도 보여줌
        // LENGTH_LONG : 5초 정도 보여줌
    }

    public void btn2Clicked(View view) {
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://m.naver.com"));
        startActivity(intent);
        // Intent : 무언가 새 창을 띄울때는 Intent를 사용한다.
    }
}

 

▲네이버 연결 버튼 작동 화면

 

 - 버튼 - 전화 연결 -

▲전화 연결 버튼 추가하기

 

package com.example.my01_helloworld;

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

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    Button btnCall; // 전역 변수

    @Override
    protected void onCreate(Bundle savedInstanceState) { // onCreate() : 메모리에 등록하면서 작동하는 메서드
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); // setContentView() : 매개 변수를 화면에 출력하는 메서드
        // R. : resource(res)의 약자

        btnCall = findViewById(R.id.btnCall); // 지역 변수
        // btnCall이란 id를 가진 객체를 찾아서 btnCall 변수에 입력한다.
        btnCall.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:010-1234-5678"));
                startActivity(intent);
            }
        });
    }
    public void btn1Clicked(View view) {
        Toast.makeText(this, "버튼1 클릭!", Toast.LENGTH_SHORT).show();
        // context : 어디에 있는지 환경을 지정
        // this : 현재 참조중인 MainActivity를 지정
        // LENGTH_SHORT : 2 ~ 3초 정도 보여줌
        // LENGTH_LONG : 5초 정도 보여줌
    }

    public void btn2Clicked(View view) {
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://m.naver.com"));
        startActivity(intent);
        // Intent : 무언가 새 창을 띄울때는 Intent를 사용한다.
    }
}

 

▲전화 연결 버튼 작동 화면

 

 - 전화번호 입력 칸 만들기 -

▲전화 번호 입력 칸 만들기

 - Palette - Text - Plain Text로 입력 칸을 만든다.

 - Attributes - hint는 빈칸에 나오는 회색 글자를 지정할 수 있는 속성이다.

 

 - inputType 속성으로 입력 칸에 들어올 문자의 종류를 지정할 수 있다.

 - number를 체크하면 숫자만 입력할 수 있는 칸이 된다.

 

 

 - 입력 칸의 id를 etPhoneNum으로 설정하였다.

 

package com.example.my01_helloworld;

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

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    Button btnCall; // 전역 변수
    EditText etPhoneNum; // 전역 변수 정의만 할 수 있다.

    @Override
    protected void onCreate(Bundle savedInstanceState) { // onCreate() : 메모리에 등록하면서 작동하는 메서드
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); // setContentView() : 매개 변수를 화면에 출력하는 메서드
        // R. : resource(res)의 약자

        etPhoneNum = findViewById(R.id.etPhoneNum);

        btnCall = findViewById(R.id.btnCall); // 지역 변수
        // btnCall이란 id를 가진 객체를 찾아서 btnCall 변수에 입력한다.
        btnCall.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String phoneNum = "tel:" + etPhoneNum.getText().toString();

//                Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:010-1234-5678"));
                Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(phoneNum));
                startActivity(intent);
            }
        });
    }
    public void btn1Clicked(View view) {
        Toast.makeText(this, "버튼1 클릭!", Toast.LENGTH_SHORT).show();
        // context : 어디에 있는지 환경을 지정
        // this : 현재 참조중인 MainActivity를 지정
        // LENGTH_SHORT : 2 ~ 3초 정도 보여줌
        // LENGTH_LONG : 5초 정도 보여줌
    }

    public void btn2Clicked(View view) {
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://m.naver.com"));
        startActivity(intent);
        // Intent : 무언가 새 창을 띄울때는 Intent를 사용한다.
    }
}

 

▲전화번호 입력 칸 작동 화면

반응형