마음만은 새내기

항상 초심을 잃지 않고 생활하겠습니다~!

프로그래밍/Android

Android 스마트폰 앱 만들기 - 3. 초간단 예제를 통해 첫 번째 앱 만들어보기

동동매니저 2016. 3. 1. 17:00

안녕하세요 !

이번 시간에는 Android Studio 에서

새로운 프로젝트를 만들고,

드디어 본격적으로 !

간단한 앱을 만들어 보는 시간을 갖도록 할게요


먼저, Android Studio에서

프로젝트를 만들거에요


지난 시간에 설치한 Android Studio를 실행 해주세요~

잠시 기다리시면,

이 화면이 나오는데요,

제가 빨갛게 표시 한 부분을 눌러주세요~

이 화면에서는 앱의 기본 정보를 설정 할 수 있어요


1번 = 앱 이름

2번 = 도메인

3번 = 패키지 이름 (도메인 역순 + 앱 이름이 Default로 설정되요)

4번 = 패키지 이름을 원하는 대로 수정 할 수 있어요

5번 = 프로젝트 저장 위치 (주의 !! 반드시 영어로만 해주세요 한글이 있을 경우, 빌드 오류가 나요)


여기에서는 화면에 버튼 하나를 넣고,

이 버튼을 누르면, "Hello Android !!"가 토스트 (Toast) 메시지가 나오는

앱을 만들 예정이에요


※ 토스트 (Toast) 메시지란 ??

> 안드로이드에서 기본적으로 잠시 띄워주는 메시지인데요,

아래의 'Click' 문구가 보이시죠??

이것이 바로 토스트 (Toast) 메시지 입니다.


적절한 앱 이름과 패키지 이름을 입력 후,

Next를 눌러주세요

(저의 경우에는,

앱 이름 = DDToast

패키지 이름 = com.ddmanager.toast로 설정 했어요)

이 화면에서는 기기 종류 별로 타겟팅을 할 수 있어요

예를 들어, 최소 SDK 버전이나 Android Wear 등

원하시는 기기 종류를 고를 수 있어요

여기에서는 'Phone & Tablet'만 선택 후,

최소 SDK를 16 (4.1 젤리빈)으로 설정할게요

Next를 눌러주세요

이 화면에서는 앱에 액티비티 (화면)을 추가 할 수 있는데요,

나중에 앱의 규모가 커지면,

그 만큼 화면의 수도 많아질 수 밖에 없어요

그리고 액티비티 (화면)와 연관된

프로젝트의 구조의 이해를 돕기 위해서

여기에서는 화면을 추가 하지 않고,

프로젝트 생성 후 화면을 직접 추가 할게요


'Add No Activity'를 선택 후

Finish를 눌러주세요~


잠시만 기다리시면...

이 화면이 뜨면 프로젝트가 성공적으로 생성 된 것이에요

빨간 화살표 부분을 클릭 해 볼까요??

(클릭 후 선택란의 'Android' 부분을 'Project'로 변경 해주세요)

이런 형식으로 뜨는데요,


1번 = 프로젝트 구성 파일

2번 = 외부 라이브러리 리스트


그런데 !!

2번 부분의 필요 없는 라이브러리들이 모여있어요

매우 단순한 기능만 필요로 할 때에는

이것들이 앱 크기를 어마무시하게 잡아먹어요 (ㄷㄷ)

잠시 후에 지워보도록 할게요


1번 중에서 'app'을 눌러보세요

이런 내부 구조로 이루어져 있어요


build = 소스 빌드 폴더로 이 폴더에 R.java도 있음

libs = 라이브러리 jar 파일을 넣는 폴더 (넣었다고 해서 바로 적용 안되고,

Gradle 스크립트에 적어야 해요)

src = 메인 소스 폴더로 Java, Resources(res) 등의 폴더가 있음

build.gradle = Gradle 스크립트 파일

proguard-rules.pro(다를 수 있어요) = Proguard 규칙 정의 파일


그 중에서 지금은 방금 전에 언급했던

'필요 없는 외부 라이브러리'들을 없애기 위해서

build.gradle 파일을 열어 보도록 할게요

(Root의 build.gradle가 아닌 app > build.gradle 파일이에요 주의 부탁드려요)


그 전에 !!

필요 없는 내용들을 지우고 수정 할텐데요,

이는 선택사항 이므로

안하셔도 돼요


(특히, AndroidManifest.xml의 <application> 태그의 경고는 무시하셔도 돼요

너무 깐깐해서... 쓸 데 없는 것도 전부 경고를 주네요)


1. src > androidTest & test 폴더 삭제

2. src > main > AndroidManifest.xml > allowBackup="false"로 수정 (또는 삭제)

3. src > main > AndroidManifest.xml > android:supportsRtl="true" 삭제

4. src > main > res > values > colors.xml 삭제

5. src > main > res > values > styles.xml 수정


이 작업을 모두 마쳤다면,

build.gradle 파일을 열어서 수정 할텐데요,

바로

dependencies 내부의

3줄을 지우면 돼요

그리고 위의 노란 박스의 'Sync Now'를 눌러주세요

잠시만 기다리시면,

외부 라이브러리들이 사라진 것을 볼 수 있어요


이제 본격적으로 개발에 들어갈건데요,

좀 전에 '액티비티'를 만들지 않았는데,

지금 먼저 만들어 볼게요

액티비티(Java 파일)와 레이아웃 XML 파일이 하나의 쌍을 이루고 있고,

액티비티는 앱의 구성 요소중 하나이기 때문에,

생성 후에는 AndroidManifest.xml에 등록을 해 주어야 해요

(만약 등록을 하지 않으면, 앱이 강제 종료돼요)


먼저, 액티비티의 짝인

레이아웃 XML 파일을 만들어 볼건데요,

먼저, 레이아웃 XML 파일이 들어갈 폴더를 만들어야 해요


src > main > res 폴더를 마우스 우클릭 후,

New > Android resource directory를 눌러주세요

Resource Type를 'layout'으로 선택 해주시고 OK 클릭 !!

그리고 생성된 layout 폴더 우클릭 > New > Layout resource file 클릭하세요

File name에 이름을 넣어주시고 OK 클릭 !!

(저는 main.xml로 할게요)

이런 화면이 뜨는데요,

처음 만들어서 그런지 화면에 아무것도 안보여요

Text 탭을 눌러서 확인 해볼게요

이렇게 뜨실텐데요,

여기에서 LinearLayout은

화면(레이아웃)의 종류중 하나로,

각각의 뷰를 세로(혹은 가로) 순서대로 정렬하는 방식이에요

그리고 RelativeLayout도 있는데요,

뷰와의 상대적인 값으로

뷰의 위치를 정하는 방식이에요

제 개인적으로는 LinearLayout를 선호하는 편이에요


그 위에 버튼을 하나 넣어볼게요

다시 Design 탭을 누르고,

왼쪽에서 'Button'을 끌어다 화면에 놓아보세요

화면에 버튼이 들어간 것을 볼 수 있어요

다시 Text 탭을 눌러보세요

7 ~ 12행의 <Button> 태그가 삽입된 것을 볼 수 있는데요,


7행 = 버튼을 삽입하는 XML 태그 (필수)

8행 = 가로(Width) 길이를 내용에 알맞게 조절 (필수)

9행 = 뷰의 높이(Height)를 내용의 알맞게 조절 (필수)

10행 = 버튼에 표시되는 텍스트 지정

11행 = 뷰의 고유 ID 지정 (Java 소스 연동 시 필요, @+id/(뷰의 고유 ID) 형식)

12행 = 뷰를 가로 축 가운데에 배치


여기에서 7행의 <Button> 입력시 대.소문자가 구분되고,

8, 9행의 뷰 크기 지정도 필수 사항이에요

1. wrap_content = 내용에 알맞게 조절

2. match_parent = 부모 뷰의 크기에 맟춤(=채움)


그리고, Design 탭에서도 버튼 추가를 할 수 있지만,

Text 탭에서 직접 입력 할 수도 있어요


이제 이 XML 파일과 연동 될

Java 파일을 만들거에요

src > main > java > 패키지명을 마우스 우클릭 후,

New > Java Class를 눌러주세요

Name에 적절한 이름을 넣고 OK를 눌러주세요

(저의 경우는 MainActivity라고 했어요)

생성 된 파일을 열어보면,

위와 같이 나타날텐데요,

여기에 직접 소스를 구현 하시면 돼요

저처럼 기존에 Java를 배우신 적이 있다면,

낯설지 않게 작업을 할 수도 있는데요,

만약 Java가 생소한 새내기라면,

먼저 Java 소스의 구조와 Java 문법을 이해 하셔야 할 것 같아요

Java 소스 구조에 관한 글은 링크로 걸게요~


먼저, 액티비티의 기본 Method중 하나인 'onCreate(Bundle)'을 넣어볼게요

이 Method는 화면이 뜰 때 호출되는 Method로,

주로 화면 초기화 작업에 사용되요

먼저, 이 클래스가 Activity를 상속하도록 해야 해요

클래스 이름 뒤에

'extends Activity'를 입력 해주세요

만약, 빨간 밑줄(오류)가 나신 분들은

밑줄 부분에서 Alt + Enter 키로 해결 할 수 있어요 (가이드 나와요)

그리고 클래스 내부에서 마우스 우클릭 > Generate > Override Methods...를 눌러주세요

그리고 위에서 onCreate(saved...:Bundle):void를 눌러주세요

(onCreate가 2개이니 주의하세요!!)

그리고 OK클릭!!

이렇게 뜰거에요

이제 여기에서 조금 전에 하셨던

XML 파일의 버튼을 가져올거에요

findViewById(int id)가 이 작업을 해요

super.onCreate(...) 바로 아랫줄에


setContentView(R.layout.main); //레이아웃 참조

Button button=(Button)findViewById(R.id.button); //버튼 참조


을 넣어주세요

(ID 값을 반드시 확인하시고,

대.소문자가 일치해야 해요)

그리고 조금 전에 했던대로 빨간 밑줄을 누르고

Alt + Enter를 눌러주세요


이로써 XML 파일의 버튼을 Java에 참조 했어요

이제는 이 버튼에 클릭 이벤트를 넣을거에요

setOnClickListener(OnClickListener listener) 구문을 이용해서

뷰에 클릭 이벤트를 넣을 수 있어요

바로 아랫줄에


button.setOnClickListener(new OnClickListener(){

...

...

});


을 넣어 주시면 돼요

(여기에서 ...은 리스너가 들어갈 자리!!)

물론, 자동으로 ... 자리에 리스너가 들어 갈 수도 있지만,

그렇지 않은 경우도 있어요

그런 경우에는

먼저 Class를 Import (Alt + Enter) 해주시고,

...을 마우스 우클릭 후,

Implement Methods...를 눌러주세요

여기에서 onClick(v:View):void를 선택 후

OK를 눌러주세요

(버튼 참조 전에 setContentView()가 빠져 있었어요 죄송해요...)

여기에서 빨간 사각형 박스에

버튼 클릭 시 수행 할 내용을 넣으시면 돼요 ^^

이번에는

간단한 Toast 메시지를 띄운다고 했죠??

빨간 사각형 박스에


Toast.makeText(getApplicationContext(),"Hello Android !!",Toast.LENGTH_LONG).show();


를 넣어주세요

구문은

Toast.makeText(앱의 Context, 띄우고 싶은 문구, 길이).show();

입니다

물론 문구 직접 입력 대신,

Resource에서 직접 불러올 수도 있어요 ^^


그리고 Alt + Enter (Class Import)를 해 주세요~


그리고 가장 중요한 한 가지!!

바로 Manifest에 액티비티를 등록하는 작업이에요

Manifest를 여시고,

XML 주석 부분에

이와 같이 넣어주세요

여기에서 <activity android:name="패키지명.액티비티 이름">이고,

아래의 <intent-filter>부분은 이 액티비티가

앱 실행 시 가장 먼저 뜨는 'Launcher 액티비티'라는 것을 정의하는 부분이므로,

이 부분이 없으면, 앱이 설치만 가능하고,

실행이 불가능 하므로 중요한 부분이에요


이제 드디어!!

앱을 실행 해 볼 순서에요

그 전에!!

컴퓨터에서 가상으로 Android를 실행 할 수 있는

AVD(Android Virtual Device)를 만들어야 해요

빨간 원 부분을 눌러주세요

지금은 AVD가 없으므로,

Create Virtual Device...를 눌러주세요

여기에서 Device 프로필을 선택 할 수 있어요

저의 경우에는

메모리 = 2GB인 관계로,

Nexus S(512MB RAM)을 선택했어요

Next를 눌러주세요

여기에서는 Android 시스템 버전과 종류를 고를 수 있어요

적절한 버전과 종류를 선택 후 Next를 눌러주세요

그리고 설정 확인 후 Finish를 누르시면!

드디어 AVD가 만들어 졌어요

이제 빨간 원 표시가 있는 버튼을 눌러서

한 번 실행 해볼게요
(저의 경우에는 x86 시스템이어서 SDK 추가로 설치 했어요

extras > Intel HAXM...)


시간이 오래 걸릴 수도 있어요

잠시 기다리시면...

드디어 화면이 나왔어요!!

이 상태에서 앱을 실행 시켜 볼까요??

빨간 원 부분을 눌러주세요

그리고 다시 기다려주세요......

오류가 없다면, 위와 같이 떠요

여기서 버튼을 눌러볼까요??

아래의 'Hello Android !!' 문구가 보이시죠??

이로써 기초적인 안드로이드 앱 예제를 해 보았어요

안드로이드에는 매우 다양한 기능이 있어요

앞으로 한 걸음씩 알아보도록 할게요


P.S.

제가 3월 2일부터 학교 생활을 해요

따라서, 포스팅 빈도가 현저히 줄어들 수 있어요

그래됴 최대한 열심히 작업을 할게요


감사합니다 ~ ^^;;