[1] 첫 앱 만들기 [1] 안드로이드 프로젝트 생성

안드로이드 프로젝트 생성

이번 시간에 배울 것

  1. 안드로이드 스튜디오에서 프로젝트 생성하기
  2. 커맨드 라인 툴로 프로젝트 생성하기

함께 봐야 하는 것

Managing Projects


why 안드로이드 프로젝트 생성?

안드로이드 프로젝트를 생성해야 안드로이드 앱을 짤 수 있습니다.
아주 기초적인 내용이기 때문에 잘 따라오시길 바랍니다.

안드로이드 프로젝트는 앱을 위한 소스코드로 이루어진 모든 파일을 포함합니다.
즉, 안드로이드 프로젝트에 모든 파일이 담긴다는 것입니다.
이번 시간은 어떻게 새로운 프로젝트를 생성하는지 보여줄 것입니다.
새 프로젝트를 생성하는 방법은 두 가지가 있는데요,
안드로이드 스튜디오를 사용하는 방법, 커맨드 라인으로 생성하는 방법이 있습니다.

주의 : 미리 안드로이드 SDK를 설치 했다는 가정 하입니다.
안드로이드 스튜디오를 쓸 예정이라면 Android Studio 를 당연히 설치 해야 합니다.
만약 설치하지 않았따면 Installing the Android SDK 에서 설치하시길 바랍니다.

안드로이드 스튜디오에서 프로젝트 생성하기


  1. 안드로에드 스튜디오에서 새로운 프로젝트를 하나 생성해 봅니다
    • 기존에 만들어 놓은 프로젝트가 없다면, Welcome screen New Project 를 클릭합니다.
    • 아니면 File 메뉴의 New Project를 선택하여 프로젝트를 생성합니다

사진 1. 안드로이드에서 새 프로젝트 설정

  1. 새 프로젝트 설정 시, 위 그림에서 보이는 필드를 채우고 Next 를 클릭합니다.
    위의 값과 동일한 값을 입력해 주세요. 다른 값을 입력해도 무방하나, 현 수업에서 위의 값으로 설명할 것이라서 혼동의 여지를 줄이기 위해서는 동일한 값을 입력하는 것이 좋습니다.

    • Application Name 은 앱의 이름입니다. 사용자에게 직접 나타나는 이름이죠.
      이번 프로젝트에서는 “My First App” 이라고 이름 붙였습니다.
    • Company domain provides a qualifier that will be appended to the package name; Android Studio will remember this qualifier for each new project you create.
    • 안드로이드 스튜디오는 이전에 만든 각각의 프로젝트마다 해당하는 이 값을 기억하고 있습니다. 이 값은 패키지 이름에 관련된 값입니다.
    • Package name  프로젝트를 위한 이름입니다. (자바 프로그래밍 언어에서 패키지 명명법과 같은 방식이죠).
      안드로이드 시스템에 깔리게 될 수 많은 다른 패키지와는 중복되지 않도록, 여러분의 패키지 이름은 반드시 유니크한 값을 가져야 합니다.
      여러분은 이 값은 Application Name 이나 company domain 값과는 달라도 괜찮습니다
  2. Project location 은 폴더의 위치입니다. 이 폴더에 여러분의 프로젝트 파일이 모두 담기게 되지요. next를 클릭합니다.
  3. Target Android Devices 창이 나오고 Select the form factors your app will run on 이라고 표시됩니다. Phone and Tablet 으로 선택합니다.
  4. Minimum SDK 에서 API 8: Android 2.2 (Froyo)를 선택합니다. (저는 진저브레드 API10 을 선택했습니다) Minimum Required SDK 라는 말은, 어느 버전까지를 지원할 것인지를 선택하는 것입니다. 표시된 API level까지 지원하겠다는 말이지요. 최대한 많은 기기들을 지원하고 싶다면, 여러분이 구동하고 싶은 기능을 지원하는, 가장 낮은 버전을 선택해야 합니다. 여러분의 앱의 기능 중 최신 버전의 안드로이드의 기능을 사용하지 않는다면 낮은 버전의 API를 선택해도 괜찮습니다. (자세한 정보는Supporting Different Platform Versions).
  5. 나머지 옵션은 체크하지 않고 Next를 클릭합니다.
  6. Add an activity to Mobile 에서 Blank Activity 를 선택하고 Next를 클릭합니다.
  7. Customize the Activity 가 뜹니다. 다음과 같이 이름을 변경해 줍니다.(수업을 위하여)
    신기하게도 자동으로 고쳐집니다. Activity Name 의 속성을 바꾸려고 타이핑을 시작하는 순간 나머지 이름들을 맞춰주기 시작합니다. Activity Name 의 속성에 “Activity”라고 끝나도록 하니, 나머지들이 예쁘게 변합니다. Activity 로 끝나지 않는다면 나머지 속성들이 다르게 변합니다. 한 번 해보세요

    • Activity Name : MyActivity
    • Layout Name : activity_my
    • Title : MyActivity
    • Menu Resource Name : menu_my
  8. Finish 버튼을 클릭하여 새로운 프로젝트를 생성합니다

Activities : 액티비티

액티비티는 안드로이드 프레임워크에서 나오는 개념입니다.
액티비티는 사용자가 앱에 접근 가능하도록 합니다.
그리고 앱에는 많은 액티비티가 있을 수 있습니다.
일반적으로 앱은, 사용자가 앱을 시작할 때를 위해 메인액티비티가 있습니다.
그리고 메인액티비티가 아닌 액티비티들은 사용자가 다른 컨텐츠를 보기 위해서 선택하면 보이겠지요.
다른 액티비티는 다른 태스크를 같은 앱 내에서 할 수 있습니다.
더 자세한 정보는 Activities 를 참고하세요

여러분의 안드로이드 프로젝트는 “Hello World” 앱입니다(가장 기초적인 모습을 달성한 앱을 보고 Hello world 라고 하지요). 프로젝트에서 가장 중요한 파일인 다음 파일을 찬찬히 살펴 봅시다

app/src/main/res/layout/activity_my.xml
이 파일은 여러분이 추가한 XML 레이아웃 파일입니다.
여러분이 안드로이드 스튜디오를 통해 프로젝트를 만들 때 액티비티를 추가하게 되는데요, 그 액티비티에서 구동될 화면을 담고 있는 것이 바로 이 XML 파일인 것입니다.
“새 프로젝트 만들기 진행” 단계를 따라가면, 안드로이드 스튜디오는 이 파일을 제공하는데요, a text view 와 스크린 UI의 미리보기를 제공합니다.
이 파일은 일부 기본적인 세팅과 TextView 엘리먼트(부품)을 갖고 있습니다.
TextView는 “Hello world” 라는 메시지를 보여주지요
app/src/main/java/com.mycompany.myfirstapp/MyActivity.java
“새 프로젝트 만들기 진행”을 끝내면 안드로이드 스튜디오에서 이 파일이 나타나게 됩니다.
이 파일을 선택하면 클래스 정의를 볼 수 있습니다.
이 클래스는 여러분이 만든 액티비티를 위한 것입니다.
앱을 빌드하고 실행할 때 액티비티클래스는 액티비티를 시작합니다.
그리고 레이아웃 파일을 불러오고, 그 파일은 “Hello World” 를 표시하게 됩니다.  
app/src/main/AndroidManifest.xml
manifest file 은 앱의 기초적인 속성이나 성질등이 기입된 파일입니다.
그리고 각각의 컴포넌트들의 정의를 가지고 있습니다.
매우 중요한 파일인데요, 이 강좌의 끝에서 이 파일을 다시 한 번 알아보겠습니다.
그리고 콤포넌트들을 더 추가할 수 있습니다.
app/build.gradle
안드로이드 스튜디오는 Gradle 이라는 것을 사용합니다.
이걸 이용해서 컴파일과 빌드를 하지요.
build.gradle” 파일이 존재하며, 이 것은 여러분의 각각의 프로젝트를 위한 것입니다.
또한 “build.gradle” 파일은 모든 프로젝트를 위한 것도 있습니다(이게 맞는 말인지 잘 모르겠습니다).
일반적으로 여러분은 모듈을 위한 “build.gradle“파일에만 관심이 있을 수 있습니다. (앱이나 앱모듈의 경우).
여기는 여러분들의 앱의 빌드 종속성이 세팅되어 있습니다. “defaultConfig” 설정과 함께요.

  • compiledSdkVersion is the platform version against which you will compile your app. By default, this is set to the latest version of Android available in your SDK. (It should be Android 4.1 or greater; if you don’t have such a version available, you must install one using the SDK Manager.) You can still build your app to support older versions, but setting this to the latest version allows you to enable new features and optimize your app for a great user experience on the latest devices.
  • [compiledSdkVersion] 은 앱을 컴파일할 플랫폼 버전입니다. 기본적으로 SDK에서 최신 안드로이드 버전으로 세팅됩니다.(안드로이드 4.1 이상; 만약 이 버전이 없다면 SDK 매니저를 통해서 설치하세요) 우리는 여전비 우리의 앱을 예전 버전을 지원하도록 빌드할 수 있습니다. 하지만 이러한 최신 버전 세팅은 새로운 기능과 최정화를 우리의 앱에 적용할 수 있습니다. 엄청난 UX 를 최신 버전에서는 지원하지요.
  • applicationId is the fully qualified package name for your application that you specified during the New Project workflow.
  • minSdkVersion is the Minimum SDK version you specified during the New Project workflow. This is the earliest version of the Android SDK that your app supports.
  • targetSdkVersion indicates the highest version of Android with which you have tested your application. As new versions of Android become available, you should test your app on the new version and update this value to match the latest API level and thereby take advantage of new platform features. For more information, read Supporting Different Platform Versions.좀 더 많은 정보를 위하여 Building Your Project with Gradle 를 참고하세요.

/res 세부 디렉토리 역시 자세히 봐야 합니다. 이 디렉토리는 여러분의 앱의 리소스들을 갖고 있습니다

drawable<density>/
drawable 오브젝트들(비트맵같은) 가지고 있는 디렉토리입니다.
여러 해상도를 위해서 만들어졌지요.
중간 해상도(mdpi)와 고해상도(hdpi) 스크린 등이 이에 해당할 수 있겠네요.
나머지 drawable 디렉토리들은 assets 을 가지고 있는데, 다른 스크린 해상도를 위해 설계되어 있습니다.
여기서는 ic_launcher.png 파일을 볼 수 있는데요, 기본 앱을 실행할 때 나타나는 파일입니다.
layout/
여러분의 앱의 유저 인터페이스를 정의한 파일들의 디렉토리입니다.
레이아웃 디렉토리는 UI를 정의한 파일들을 가지고 있습니다.
activity_my.xml 같은 파일이 이에 속합니다.
activity_my.xml은 위에서 언급한 것 처럼 MyActivity 클래스를 위한 기본적인 레이아웃을 표현하는 파일입니다 
menu/
여러분의 앱의 메뉴 아이템이 정의된 파일을 갖고 있습니다.
values/
리소스들의 모음을 포함하고 있는 XML 파일들을 모아둔 폴더입니다.
string이나 color 정의를 가지고 있을 수 있지요.
strings.xml 파일에서 “Hello world!” 문자열이 들어있습니다.
이 문자열은 우리가 앱을 실행할 때 사용하도록 여기에 넣어두는 겁니다
( 오해하지 마세요, 여기 파일에 넣는다고 앱 실행하자 마자 뜨는 것은 아니고.. 은행처럼.. 안에 넣어두는 것입니다.)

앱을 실행하고 싶다면, 다음 수업을 참고하세요


이하 커맨드라인에 대한 해석은 skip 하도록 하겠습니다.

Create a Project with Command Line Tools


If you’re not using the Android Studio IDE, you can instead create your project using the SDK tools from a command line:

  1. Change directories into the Android SDK’s sdk/ path.
  2. Execute:
    tools/android list targets

    This prints a list of the available Android platforms that you’ve downloaded for your SDK. Find the platform against which you want to compile your app. Make a note of the target ID. We recommend that you select the highest version possible. You can still build your app to support older versions, but setting the build target to the latest version allows you to optimize your app for the latest devices. If you don’t see any targets listed, you need to install some using the Android SDK Manager tool. See Adding SDK Packages.

  3. Execute:
    android create project --target <target-id> --name MyFirstApp \
    --path <path-to-workspace>/MyFirstApp --activity MyActivity \
    --package com.example.myfirstapp
    

    Replace <target-id> with an ID from the list of targets (from the previous step) and replace <path-to-workspace> with the location in which you want to save your Android projects.

Tip: Add the platform-tools/ as well as the tools/ directory to your PATH environment variable.

Your Android project is now a basic “Hello World” app that contains some default files. To run the app, continue to the next lesson.

출처 : 안드로이드 개발 사이트