슬기로운 개발자생활/Native APP

[APP 개발] 안드로이드 스튜디오 개발을 위한 기초 지식

개발자 소신 2020. 1. 3. 13:59
반응형

 

 

다들 자신만의 앱을 갖고 싶다는 생각을 한번쯤은 하실텐데요

 

안드로이드 스튜디오를 공부하면서 '아 이건 정말 중요하다' 싶은

기초 개념들을 한 번쯤 짚어드리려고 합니다.

 

정말 간단하게 설명하기 위해 핵심 내용만 추렸습니다.

 

  1. 개발언어 ?
  2. 안드로이드 APP의 특징 1, 2, 3
  3. 안드로이드 스튜디오 화면 구성요소
  4. 빌드, Gradle Setting

 

 


1. 개발언어

 

안드로이드는 기본적으로 Java와 Kotlin 언어를 개발언어로 사용합니다.

레이아웃같은 화면 구성은 XML을 사용하죠.

 

 


2. 안드로이드 APP의 특징?

 

첫 번째, [컴포넌트] 기반 개발이다.

 

컴포넌트는 앱의 구성 단위

 

예를 들면,

SMS 목록을 보는 컴포넌트와, SMS를 발송하는 컴포넌트, SMS를 수신하는 컴포넌트 세 개가 합쳐져

하나의 SMS APP이 만들어진다는 개념이다.

 

 

컴포넌트의 종류

  • 액티비티 (Activity) : UI를 구성하기 위한 컴포넌트
  • 서비스(Service) : UI 없이 백그라운드에서 장시간 수행되는 컴포넌트
  • 콘텐츠 프로바이더(ContentProvider) : 애플리케이션 간 데이터를 공유하기 위한 컴포넌트
  • 브로드캐스트 리시버(BroadcastReceiver) : 이벤트 모델로 수행되는 컴포넌트 (배터리 없는 상황, 부팅 완료 등의 이벤트를 받기 위해 작성하는 컴포넌트)

 

두 번째, 라이브러리

 

내 APP에서 사용자의 갤러리에 있는 사진을 가져오고 싶다고 하면 어떻게 할까요?

갤러리를 사용할 수 있는 코드를 추가로 작성해야 할까요?

 

이건 너무 비효율적이기 때문에 안드로이드 라이브러리를 활용해 갤러리 APP을 연동하여

사진의 정보만 가져올 수 있다면, 굳이 코드를 짜지 않아도 되겠죠?

 

 

 

 

세 번째, 리소스 외부화

 

위의 사진에서 Wolfy App이라는 문자를 xml파일로 저장해서 사용할수도 있고

화면 구성을 하는 xml에 바로 입력할 수도 있습니다.

문자열이 길거나, 바뀔 필요가 있는 경우에는 xml파일로 저장한 뒤 꺼내서 쓰는게 리소스 외부화 개념입니다.

(리소스 외부화를 하면 코드가 간결해진다.)

 

 


3. 안드로이드 스튜디오 화면 구성요소 - 안드로이드 화면 너무 복잡해요 어려워요 !!!

 

안드로이드 스튜디오에서 개발자가 신경써야 할 것은 

크게 왼쪽의 라이브러리, 가운데의 화면, 아래의 로그입니다.

 

 

라이브러리 화면

 

라이브러리가 복잡해서 도대체 뭘 건드려야 되는건지 복잡할텐데요 (저도 그랬습니다)

 

개발자가 쓰는 파일

java 폴더 아래에 있는 패키지명 (com.sosin.application)의 아래에 있는 java 파일들

res 폴더 아래에 폴더로 분류되어 있는 xml파일들

 

 

자바에서 (R.layout.activity_main)이라는 짧은 문장을 이해하는 게

중요한 것이 R은 res폴더를, .layout은 res/layout 까지를 나타내고

그 하단에 있는 activity_main이라는 파일을 읽는 방식을 저렇게 나타내기 때문입니다.

 

java에서 xml을 참조하고 싶을 때 저 문장 구조를 알고 있으면

라이브러리 위치를 확인해서 바로바로 사용할 수 있겠죠?

 

java 파일을 새로 생성하고 싶을 때에는 MainActivity 위치에서

마우스 우클릭, new, java class를 선택하시면 됩니다.

 

그리고 화면 구성을 할 때 사용하는 xml파일들

res/layout의 activity_main.xml이 가장 기본적으로 실행되는 화면입니다.

(app시작화면을 activity_main이라 했을 때)

 

res하위의 폴더명은 변경되서 안되고 파일명은 영어 소문자여야 한다는 게 제일 중요합니다.

java에서 xml파일을 참조할때도 사용하지만 xml에서도 다른 파일을 참조할 때

저 폴더들의 위치를 참조해서 파일을 찾아 사용하기 때문입니다.

 


4. 빌드, Gradle Setting

 

Application의 기본 정보를 나타내는 곳이 Gradle Setting 부분입니다.

 

 

 

라이브러리 하단의 Gradle Scripts, build.gradle의 내용만 변경해도 앱의 정보를 바꿀 수 있습니다.

 

 

 

 

  • applicationId : ★중요★ 구글은 패키지명으로 앱을 구분하기 때문에 유일무이한 패키지명을 사용해야 합니다.
    (※ 저 패키지명이 겹치면 구글마켓에 등록되지 않습니다.)
  • minSdkVersion : Sdk 최소 지원 버전
  • targetSdkVersion : 개발할때 사용한 Sdk 버전
  • versionCode : ★중요★ 구글마켓에 앱을 등록하게 되면 버전코드로 업데이트를 관리하기 때문에 새로운 APK파일로 업데이트를 하고 싶다면 버전코드를 수정해줘야 합니다.
  • versionName : 개발자가 구분을 위해 임의로 지정하는 명칭입니다.

 

안드로이드 스튜디오 개발을 위한 진짜 기초적인 지식은 여기서 끝입니다.

 

다음은 사용자 인터페이스 부분을 개발하는 방법에 대해서 알아보겠습니다.

 

 

반응형