안드로이드 스튜디오에서 프로젝트를 갓 생성하면 MainActivity.java와 activity_main.xml이 있다.
필자는 모드 선택 > 난이도 선택 > 게임 진행을 베이스로 구현할 것이기 때문에 Main을 ModeSelect로 변경하고 진행하겠다.
이름 변경은 java파일과 xml파일을 우클릭 > Refactor > Rename을 누른 후 원하는 이름으로 변경하고 Refactor를 누르면 어느 곳에서 변경이 이루어지는지 Preview를 볼 수 있는데 한 번 확인하고 Do Refactor를 누르면 전체적으로 변경된다.
혹시 모르니 이름 변경하고 나서 에뮬레이터를 돌려 확인해보고 만약에 오류가 뜬다면 AndroidManifest.xml 파일을 열어서 변경이 제대로 되었는지 확인해보면 된다.
이제 새로운 액티비티를 생성할 차례다.
app > java > 액티비티가 있는 폴더에서 우클릭 > New > Activity > 원하는 액티비티를 누르면 처음 프로젝트 생성할 때처럼 액티비티 생성 화면이 나온다.
Activity Name을 설정하고 Finish를 누르면 되는데 Generate Layout File은 액티비티를 생성할 때 자동으로 xml파일도 만들어준다는 항목이므로 선택 해제하지 않는 것을 추천한다.
또한 자동으로 추가되긴 하지만 혹시 모르니 AndroidManifest.xml에도 추가되었는지 보고 에뮬레이터까지 돌려서 확인해보는 것을 추천한다.
그럼 현재 두 개의 액티비티가 있으니 전환을 해보도록 하자.
기본적으로 안드로이드에서는 Intent란 객체를 사용하는데 간단하게 데이터를 전달하는 객체라고 생각하면 된다.
물론 화면 전환 시에도 Intent를 사용할 것이다.
xml파일로 이동해서 자석 모양의 불가표시를 해제하고 Palette를 열어 Buttons의 Button을 드래그해서 생성한 뒤 왼쪽에서 text를 변경했다.
만약 필자의 화면처럼 보이지 않는다면 오른쪽 상단의 3가지 Display 형태를 클릭하면 되고 자신한테 편한 대로 사용하면 된다.
또한 위 사진처럼 <Button> 안에 android:onClick="실행할 함수 명"을 입력해준다.
해당 버튼을 클릭했을 경우 매칭 되는 이름을 가진 함수를 실행한다는 의미이다.
그럼 현재 xml파일과 매칭 되는 java파일로 가서 해당 함수를 작성하면 된다.
onCreate 메서드와 동일한 위치에 이렇게 작성하면 된다.
Intent의 첫 번째 파라미터는 해당 액티비티를 의미하는 this를, 두 번째 파라미터는 이동을 원하는 액티비티를 작성하고 startActivity에 해당 intent를 넣으면 된다.
안드로이드 스튜디오 좌상단 File > Settings... 를 클릭하면 설정 화면 하나가 뜬다.
Version Control > Git을 누르고 빨간 표시의 Test를 클릭하면 깃 버전을 확인할 수 있다.
위 사진처럼 뜬다면 제대로 된 것이며 상황에 따라 오류 메시지를 출력할 수 있다.
그럴 땐 Test 왼쪽의 ...을 클릭해서 자신의 깃 설치 경로를 찾으면 된다.
cmd 폴더에 git.exe로 설정하면 될 것이다.
Test로 버전 확인을 했다면 이번엔 계정 연동할 차례다.
Version Control > GitHub로 이동해서 Add account를 클릭하고 자신의 깃허브 계정을 입력하니까 유효하지 않은 인증 데이터라며 찾을 수 없다고 뜬다.
깃허브로부터 토큰을 발급받아 인증해야 될 것 같으니 깃허브로 이동한다.
깃허브에서 Settings를 누르고 맨 아래 Developer settings을 누른 뒤 Personal access tokens의 Tokens(classic)을 누른다.
바로 위의 Fine-grained tokens는 개인 접근용 토큰이란 정보를 얻었지만 Beta 버전이기도 해서 기존의 classic 방법으로 하겠다.
마찬가지로 토큰을 생성하는데 classic 한 방법으로 얻도록 한다.
Note에서 간략하게 설명을 작성하고 Expiration에서 토큰 기한을 설정한 뒤(필자는 혹시 모르니 최대한 길게 90일로 설정했다.) repo, workflow, admin:org, gist정도를 체크하고 맨 밑에 Generate token을 클릭하면 된다.
그럼 초록색 바탕의 네모난 상자가 있을 텐데 해당 토큰 값을 자신이 찾기 쉬운 위치에 저장한다.
다시 안드로이드 스튜디오로 돌아와서 Enter token을 누르고 자신의 토큰 값을 입력한 뒤 Log in을 누르면 사진처럼 자신의 깃허브 계정이 추가된 것을 확인할 수 있다.
이제 계정 연동은 되었으니 실제 코드를 관리하기 위한 Repository 연동을 하면 된다.
안드로이드 스튜디오에서 VCS > Import into Version Control > Share Project on GitHub를 클릭하고 Repository name, Description을 작성한 뒤 Share를 누르면 Repository에 올릴 파일들의 목록이 빨간색 이름으로 뜨고 Add를 누르면 자동으로 깃허브에 Repository가 생성된다.
다만 필자는 실무처럼 프로젝트를 진행하기 위해 master 브랜치를 prod로 바꾸고 dev 브랜치를 생성했다.
안드로이드 스튜디오 오른쪽 아래 Git: master라고 되어 있는 부분을 클릭하고 사진처럼 Rename이나 New Branch를 통해 이름을 바꾸거나 새로운 브랜치를 생성하면 된다.
변경사항이 있으면 우상단 초록색 체크표시를 누르고 Commit Message를 작성한 뒤 Commit and Push를 누르면 되고 만약 2인 이상의 협업일 경우 파란색 화살표 표시를 누르면 깃허브의 변경된 사항을 로컬 환경으로 가져올 수 있다.
참고로 Commit은 로컬 환경의 Git에 저장하는 거고 깃허브까지 변경사항을 저장하려면 Push를 해야 되는데 필자는 한꺼번에 하기 위해 Commit and Push를 자주 쓰는 편이다.
전에 대학 강의에서 App 개발을 몇 번 해봤지만 거의 구글링을 하며 제대로 이해도 못하고 복붙 한 수준이라 취업 이후에 Native App 개발을 제대로 해보려 작성하게 되었다.
현재 3.6.3 버전을 사용할 예정이며 이미 설치되어 있는 경우 Help > About을 통해 버전 확인이 가능하고 최신 버전을 설치하고 싶다면 밑에 링크를 통해 설치하거나 업데이트는 Help > Check for Updates > Download를 통해 업데이트할 수 있다.
또한 필자는 이미 프로젝트가 존재하기 때문에 열린 상태에서 새로운 프로젝트를 만들어 보도록 하겠다.
File > New > New Project를 선택하면 템플릿 선택 화면이 나온다.
Empty Activity를 선택하고 Next를 누르면 여러 가지 설정 화면이 나온다.
각 항목은 다음과 같다.
Name : 프로젝트의 이름
Package name : 패키지명이며 뒤에 Name이 자동으로 붙는다. 경우에 따라 패키지 중간의 이름을 수정하지만 필자는 개인의 사이드 프로젝트이므로 그대로 example로 사용하도록 하겠다. 공백이나 대문자가 없는 것이 특징이다.
Save location : 해당 프로젝트가 저장될 경로이며 본인이 쉽게 찾을 수 있는 경로에 저장하는 것이 좋다.
Language : 사용할 언어를 선택하는 항목이며 Java와 Kotlin이 있다. 필자는 Java로 Native App을 구현할 예정이기에 Java를 선택했다.
Minimum SDK : 사용 가능한 최소 안드로이드 버전을 뜻한다. 해당 항목에서 최신 버전을 선택할수록 신규 API를 사용할 수 있지만 더 낮은 버전을 가진 모바일 기기에서는 다운로드가 불가능하다. 밑에 있는 설명은 해당 수치만큼 대략적으로 사용 가능하다는 뜻이며 필자는 92.7% 정도 실행 가능한 안드로이드 7.0(Nougat)을 선택했다. 각자 적당한 수치라 생각되는 버전을 선택하면 될 것이다.
Use legacy android support libraries : 간단히 말해 호환을 위한 옵션이다. 신규 API는 오래된 버전에선 동작할 수 없기에 오래된 버전에서도 정상 동작하게끔 지원하는 옵션이다. 상황에 맞게 선택하면 될 것 같다.
모든 항목을 다 확인하고 Finish를 누르면 다음과 같이 화면이 뜬다.
빨간 표시를 한 큐브 모양 아이콘을 클릭하면 Android SDK를 설치할 수 있는데 SDK란 Software Development Kit의 약자로 개발에 필요한 도구들의 모음이라 생각하면 된다.
최신 버전의 SDK만 설치되어 있다면 하위 버전 한 두 개 정돈 더 있는 게 좋다고 하는데 필자는 Android 10.0 버전이 이미 설치되어 있으므로 update만 진행하도록 하겠다.
SDK를 설치하는데 비교적 많은 저장공간을 필요로 하므로 여유가 엄청 많은 게 아니라면 무작정 설치하는 것보다는 꼭 필요해 보이는 것 한 두 개 정도만 설치하는 것을 권장한다. (시간도 상당히 걸린다.)
또한 광고를 붙여 구글 앱 스토어에 출시할 예정이므로 SDK Tools에서 Google Play services를 설치하도록 한다.
상단의 초록색 망치 모양을 클릭해서 아래 사진과 같이 BUILD SUCCESSFUL 이 뜬다면 성공적으로 SDK를 설치한 것이다.
다음은 안드로이드를 컴퓨터로 돌리기 위한 에뮬레이터를 설치할 차례다.
오른쪽 상단에 휴대폰 모양을 누르면 AVD Manager가 뜨는데 필자는 이미 에뮬레이터가 설치되어 있으므로 Create Virtual Device를 통해 새로운 에뮬레이터를 설치하면 된다.
보편적인 사이즈이며 Play Store도 가능한 Pixel 2를 선택하고 Next를 누른다.
현재 안드로이드 10.0 버전의 SDK를 설치했기에 일치시키려 Q를 설치 후 Next를 눌렀다.
그다음은 필요한 경우에 이름 설정을 하고 나머진 딱히 수정할 항목이 없어서 Finish를 누르면 AVD가 설치된다.
이후 우측 상단의 초록색 화살표를 누르거나 Shift + F10을 누르면 프로젝트를 실행하면서 자동으로 에뮬레이터가 실행되는 것을 확인할 수 있다.