[Do it! 안드로이드 앱 프로그래밍 #1] Hello! 안드로이드
Android

[Do it! 안드로이드 앱 프로그래밍 #1] Hello! 안드로이드

01 안드로이드란?

 

01-1 안드로이드 이해하기

안드로이드는 구글(Google)에서 만든 스마트폰용 운영체제(OS)이다. 휴대용 단말기를 위해 만들어진 것일 뿐만 아니라 다양한 앱을 만들어 설치하면 실행될 수 있도록 구성된 앱 플랫폼(Platform)이기도 하다.

 

01-2 안드로이드의 흐름 살펴보기

손으로 터치하는 스마트폰은 아이폰으로부터 시작되었으며 안드로이드로 대중화되면서 점점 더 많은 개발자들을 앱 개발 쪽으로 유도했다. 안드로이드 단말이 시장 점유율을 높일 수 있었던 주요 요인들 중 하나는 오픈 소스라는 점과 함께 '에코 시스템(Eco System)'을 잘 구성했기 때문이다. 에코 시스템은 단말 OS, 단말 제조사, 이동통신사 그리고 앱 개발자 등 하나의 단말이 시장에 나와 사용자들이 사용하는 과정에서 각 역할을 담당하는 주요 참여자들을 하나로 묶어주는 생태계라 할 수 있다.


02 개발 도구 설치하기

 

02-1 안드로이드 스튜디오 설치하기

안드로이드 개발자 사이트에서 설치를 진행한다.


03 첫 번째 앱 만들기

 

03-1 첫 프로젝트 만들기

Create New Project > Empty Activity > Name 입력 > Package name 입력 > Language 선택 > Finish

 

Name: 대문자로 시작

Package name: 소문자로 시작, 앱을 구분하는 고유한 값. 실무에서는 패키지 이름을 인터넷 사이트 주소(도메인)처럼 짓는 경우가 많다.

 

03-2 에뮬레이터로 Hello World 앱 실행하기

에뮬레이터는 가상 단말(Virtual Device)을 실행하기 위한 프로그램이다.

 

03-3 Hello 프로젝트 하나씩 바꾸어보기

MainActivity.java 자세히 살펴보기

MainActivity.java 자세히 살펴보기
MainActivity.java 자세히 살펴보기

-MainActivity.java에 하나밖에 없는 함수인 onCreage 함수가 시작점의 역할을 한다.

-setContentView 함수와 이 함수의 소괄호 안에 들어 있는 R.layout.activity_main에 의해 앱에 화면이 나타나게 된다.

-setContentView 함수는 화면에 무엇을 보여줄 것인지를 설정해 주는 역할을 하고 R.layout.activity_main은 사용자가 보게 될 화면 모양의 정보이다.

 

 

activity_main.xml 자세히 살펴보기

-MainActivity.java에서 보았던 R.layout.activity_main은 activity_main.xml 파일을 가리킨다. 즉, MainActivity.java와 activity_main.xml이 연결되어 하나의 화면을 보여주는 것이다.

-activity_main.xml 화면은 XML을 고칠 수 있는 텍스트 화면과 화면 구성 요소를 마우스로 넣을 수 있는 디자인 화면으로 구성되어 있다.

 

 

버튼 눌렀을 때 메시지가 나타나게 하기

 

버튼에서 발생한 이벤트를 처리하기 위한 과정:

 

① 소스 파일에 이벤트 처리 함수 추가하기

MainActivity.java 파일을 열고 onButton1Clicked라는 이름의 함수를 추가한다.

 

② XML 파일의 버튼을 선택하고 onClick 속성 값으로 선택하기

activity_main.xml 파일에 들어 있는 버튼에 onClick 속성 값을 onButton1Clicked로 선택한다.

이때 함수 이름은 소스 코드(MainActivity.java)에 입력했던 함수 이름과 같다.

 

▼ onButton1Clicked 함수

public class MainActivity extends AppCompatActivity {

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

    public void onButton1Clicked(View v){
        Toast.makeText(this, "확인1 버튼이 눌렸어요.", Toast.LENGTH_LONG).show();
    }
}

Toast(토스트)는 작고 간단한 메시지를 잠깐 보여주는 역할을 한다.

 

XML 파일에서 onButton1Clicked 함수를 버튼의 onClick 속성으로 지정
XML 파일에서 onButton1Clicked 함수를 버튼의 onClick 속성으로 지정

 

03-4 여러 개의 버튼 추가하기

디자인 화면에서 새 버튼 추가하고 자리 잡기

새 버튼의 테두리에는 빈 동그라미가 생긴다. 이 빈 동그라미를 끌어 화면의 경계선이나 다른 요소(버튼)의 테두리에 가져다 놓으면 연결선이 만들어지는데 이것을 버튼의 위치를 결정하는 제약(Constraint)이라고 부른다. 제약이 없으면 버튼의 위치를 결정할 수 없기 때문에 오류가 발생한다.

 

 

새 버튼에 네이버 접속하기 기능과 전화 걸기 기능 추가하기

 

▼ onButton2Clicked, onButton3Clicked 함수

public class MainActivity extends AppCompatActivity {

		// 중략
		
        public void onButton2Clicked(View v){
        Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://m.naver.com"));
        startActivity(myIntent);
    }

    public void onButton3Clicked(View v){
        Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("tel:010-1000-1000"));
        startActivity(myIntent);
    }
}

*Intent: 의도

*Uri: Uniform Resource Identifier (=통합 자원 식별자), 인터넷에 있는 자원을 나타내는 유일한 주소

*parse: 분석하다

 

다음 장에서 더 자세히 설명하니, 앞에서 설명한 내용이나 코드가 잘 이해되지 않아도 괜찮다고 한다.