[Kotlin] 7 - Android Native Kotlin 개발 환경 구축

2024. 5. 25. 01:46· 공부/Kotlin
반응형
  • 준비물
  • Android Studio가 설치 된 PC
  • AVD를 사용할 경우: 가상화 오류 발생 시 체크할 점
    • Intel: https://mindorizip.tistory.com/71
    • AMD: https://0391kjy.tistory.com/4
  • Android Device를 사용할 경우
    • 데이터 케이블
    • Android Device의 운영체제 버전 확인
      • 설정 > 시스템 > 휴대폰 정보 등의 메뉴에서 확인

새 프로젝트 만들기

Build configuration language : Kotlin DSL( build.gradle.kts) 사용 시 좋은점은

 

기존 build.gradle 에서는 Groovy 언어로 작성되지만 Kotlin DSL를 사용하면 Kotlin 언어로 작성 할 수 있다. 그리고 build.gradle에서 제공되지 않는 자동완성이나 구문 강조 기능이 사용 가능

프로젝트 살펴보기

  • manifests : Android OS 에게 앱의 설정을 알리는 파일.
  • java - com.example.helloworld : 소스코드 작업 위치. 프로젝트를 만들 때 입력한 패키지가 기본 패키지가 된다.
  • 패키지명(androidTest or test) : 테스트용 패키지에 작성한 코드는 실제 앱 동작에는 영향을 끼치지 않는다.
  • res : 각종 디자인 등에 관련된 파일들을 저장하는 폴더
    • drawable : 이미지 파일
    • layout : 화면 디자인 파일
    • mipmap : 해상도별 앱 아이콘 파일
    • values : Color, String 등의 static 리소스 파일

 

 

  • build.gradle.kts (Project : HelloWorld ) : Project 단위의 빌드 설정 파일
  • build.gradle.kts (Module : app ) : Module (앱) 단위의 빌드 설정 파일. 주로 사용하는 파일
    • 컴파일 SDK 버전
    • 앱 ID
    • JDK 빌드 설정
    • 라이브러리 의존성 정의
    • Minimum SDK 버전 정의

 

MainActivity

  • HelloWorld 프로젝트의 시작점 : onCreate 함수부터 시작
  • R.layout.activity_main 란?
  • res / layout / activity_main.xml
  •              ⬇️       ⬇️
  • R.layout.activity_main
  • Android lguana 부터 MainActivity의 기본 코드가 변경됨
  • 원래는 Statusbar와 Navigation bar 쪽의 UI는 따로 그려줬는데 enableEdgeToEdge를 사용하면 앱 전체화면에 대해 UI를 렌더링 할 수 있다.
  • 사용하려면 setContentView 이전 코드에 적어줘야함

https://developer.android.com/develop/ui/views/layout/edge-to-edge?hl=ko

  • ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets -> }
  • 넓은 화면을 사용할 때 앱 일부가 시스템 아래 그려질 수 있다.
  • insets : 내가 피해야 할 영역을 알려준다.
    • 표시줄 인셋 : 시스템바가 화면의 얼마나 먹었는지를 알려줌 → 사용자가 status Bar를 숨겼는지, 표시하는지, 길이가 얼마나 되는지 모르기 때문에 상황별로 달라져야 함
    • val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
    • 동작 인셋 : 좌우를 얼마나 피해서 렌더링을 해야할지 알려줌
    • val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemGestures())
  • 단, enableEdgeToEdge() 를 사용할때만 사용함

→ 하단바와 상단바의 크기에 리스너를 달아놓고 앱을 실행했을 때 해당 값을 받아와서 그 값만큼 화면에 Padding을 설정한다. → UI가 겹치게 하지 않기 위해

 

 

activity_main.xml

  • xml code를 렌더링해서 출력하게 된다.

상단 우측에 “code”, “split”, design” 이렇게 3가지 방법으로 xml 파일을 작성할 수 있다.

Emulator에서 실행

실행

  • Android Device Emulator를 사용하여 실행해본다.
  • 화면 우측 상단
  • 버튼을 클릭 > 우측에 뜨는 다음창에서 Create Device를 클릭
  • Pixel 중에서 플레이 스토어 아이콘이 있는 모델을 선택한다.
  • Recommended 탭에서 처음 설정한 mininum SDK 이상 버전을 다운로드
  • 만약 Recommended가 없을 경우 Intel 64bit CPU의 경우 x86 Images, Apple slicon은 Other Images를 선택하여 다운로드 https://www.androidhuman.com/2021-07-04-android_emulator_apple_silicon
  • 설정을 완료하면 기기가 추가됩니다.
  • 이후 Device Manager 화면에 해당 기기가 출력된다.
  • AVD는 기기와 동일하게 전원을 켜고 사용.

Android Device(물리) 에서 실행

  • 갤럭시, LG 기타 물리 스마트폰에서 실행
  • Physical

PC에서 준비할 것

  • Windows OS
  • 각 제조사별 USB 드라이버 설치
  • https://developer.android.com/studio/run/oem-usb?hl=ko
    • 삼성 통합 USB 드라이버
    • LG는 링크 클릭후 모델명 넣고 USB Driver 설치

 

휴대폰에서 준비할 것

  • 개발자 모드 활성화
    •  휴대전화 정보 > 소프트웨어 정보 > 빌드번호를 7번 터치: 잠금 해제하고 개발자 모드 활성화
  • 설정 > 개발자 옵션 > USB 디버깅 허용
  • Android Studio가 켜진 상태에서 데이터 케이블로 폰에 연결할 경우 USB 디버깅을 허용할 것인지 묻는 팝업이 출력 > 확인을 눌러 연결



반응형
저작자표시 비영리 변경금지 (새창열림)
'공부/Kotlin' 카테고리의 다른 글
  • [Kotlin] 10 - Widget And Listener
  • [Kotlin] 8 - Layouts
  • [Kotlin] 6 - Android Native 개발 환경 구축(Android Studio)
  • [Kotlin] 5 - Functions
Future0_
Future0_
rm -rf /
Future0_
Luna Developer Blog
Future0_
전체
오늘
어제
  • 분류 전체보기 (112)
    • 프로그래밍 (4)
      • 알고리즘 (4)
    • 보안 (14)
      • Dreamhack (4)
      • Hackthebox (1)
      • Webhacking (9)
    • 프로젝트 (4)
    • 공부 (80)
      • Database (2)
      • Python (11)
      • System (4)
      • Java (13)
      • JSP (13)
      • Spring (11)
      • Kotlin (16)
      • 자료구조 (10)
      • 기계학습 (0)
    • Docker (4)
    • Github (2)
    • Tip (1)
    • 잡담 (2)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • cs
  • jsp
  • 컴퓨터
  • webhacking
  • 알고리즘
  • 1.9.22
  • 상속
  • React
  • native app
  • docker
  • Kotlin
  • Android Studio
  • Java
  • 디버깅키해시
  • 보안
  • api 통신
  • 자바빈즈
  • spring
  • 키 해시
  • 자료구조
  • 프로그래밍
  • android studio 삭제
  • ViewModel
  • 코틀린기본문법
  • dreamhack
  • Database
  • Computer science
  • shared preference
  • SpringBoot
  • Python

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
Future0_
[Kotlin] 7 - Android Native Kotlin 개발 환경 구축
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.