다들 자신만의 앱을 갖고 싶다는 생각을 한번쯤은 하실텐데요
안드로이드 스튜디오를 공부하면서 '아 이건 정말 중요하다' 싶은
기초 개념들을 한 번쯤 짚어드리려고 합니다.
정말 간단하게 설명하기 위해 핵심 내용만 추렸습니다.
- 개발언어 ?
- 안드로이드 APP의 특징 1, 2, 3
- 안드로이드 스튜디오 화면 구성요소
- 빌드, 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 : 개발자가 구분을 위해 임의로 지정하는 명칭입니다.
안드로이드 스튜디오 개발을 위한 진짜 기초적인 지식은 여기서 끝입니다.
다음은 사용자 인터페이스 부분을 개발하는 방법에 대해서 알아보겠습니다.
'슬기로운 개발자생활 > Native APP' 카테고리의 다른 글
[APP 개발] 안드로이드 스튜디오 알림 기능 (진동, 벨, 토스트, 알림창) (4) | 2020.01.07 |
---|---|
[APP 개발] 안드로이드 스튜디오 UI구성 레이아웃 (Layout) (0) | 2020.01.05 |
[APP 개발] 안드로이드 스튜디오 UI 구성 뷰(View) 간단 설명 (0) | 2020.01.04 |