앱 개발

초보자도 쉽게 따라 할 수 있는 안드로이드 앱 개발 기초

브릿지DS01 2023. 3. 9. 10:23
반응형

안드로이드 앱 개발을 처음 시작하는 초보자분들을 위한 기초적인 내용을 간단히 설명드리도록 하겠습니다.

 

1. 안드로이드 개발환경 구축

 

1.1. 안드로이드 스튜디오 설치

 

먼저, 공식 홈페이지에서 Android Studio 설치 파일을 다운로드합니다. exe 파일을 다운로드한 경우, 파일을 더블클릭하여 실행합니다. zip 파일을 다운로드한 경우에는, 압축을 푼 후 android-studio 폴더를 Program Files 폴더에 복사합니다. 그리고, android-studio bin 폴더에서 studio64.exe(64비트 컴퓨터) 또는 studio.exe(32비트 컴퓨터)를 실행합니다. Android Studio의 설정 마법사에 따라 권장 SDK 패키지를 설치하면 됩니다.

 

또한, Android Studio 설치에 대한 자세한 설명은 Codelab에서 확인할 수 있습니다. Codelab에서는 Android Studio가 무엇인지, 어떻게 설치하고 설정하는지 등에 대해 자세히 설명하고 있습니다.

 

설치 후에는, 안드로이드 스튜디오를 통해 앱을 개발할 수 있습니다. 설치가 완료되면, 디렉터리 폴더에서 Layout에서 XML 파일을 더블 클릭해보고, 오른쪽에 Design을 누르면 앱 화면이 보입니다. 이를 통해 설치가 제대로 되었는지 확인할 수 있습니다

 

1.2. SDK Manager를 사용한 안드로이드 SDK 설치

 

SDK Manager는 안드로이드 앱을 개발하기 위해 필요한 도구들을 다운로드하고 관리하는 도구입니다. 안드로이드 SDK(소프트웨어 개발 키트)를 설치하려면 먼저 Android Studio를 설치해야 합니다. Android Studio를 설치하면 SDK Manager가 자동으로 설치됩니다. SDK Manager를 실행하면 필요한 도구들을 선택적으로 다운로드할 수 있습니다. 이 도구들은 안드로이드 앱을 개발할 때 사용됩니다. SDK Manager를 사용하여 새로운 SDK 버전을 다운로드하거나 기존 버전을 업데이트할 수도 있습니다.

 

2. 안드로이드 앱 개발 기초

 

2.1. 액티비티(Activity)와 레이아웃(Layout)

 

액티비티는 안드로이드 앱을 구성하는 가장 기본적인 빌딩블록으로, 보통의 경우 한 화면을 차지하면서 뷰(View)로 구성된 사용자 인터페이스를 화면에 표시하고 사용자의 입력을 처리합니다. 여러 개의 액티비티를 가지고 있는 애플리케이션의 경우, 화면 전환이 이루어지면 새로운 액티비티가 실행되어 처리하게 됩니다. 액티비티 간에는 데이터를 서로 주고 받을 수도 있습니다. 또한, 새로운 화면이 생성되며 기존의 화면은 스택에 놓입니다..

 

 

레이아웃은 한 화면 내에서 어떤 식으로 보여줄지 정하고, 좀 더 효율적으로 배치할 수 있도록 하는 것입니다. 프레임 레이아웃, 리니어 레이아웃, 상대 레이아웃 등 여러 종류의 레이아웃이 있으며, 이를 조합하여 사용할 수 있습니다. 레이아웃은 뷰를 포함하는 컨테이너 역할을 하며, 뷰를 추가하거나 수정할 수 있습니다. 액티비티와 함께 사용되며, 뷰를 더욱 효과적으로 구성할 수 있습니다.

 

2.2. 위젯(Widget)과 뷰(View)

 

위젯(Widget)과 뷰(View)는 안드로이드 앱을 구성하는 기본적인 구성 요소입니다. 각각의 기능과 차이점을 알아보도록 하겠습니다.

 

위젯(Widget)은 버튼, 입력 상자, 체크 박스 등과 같이 사용자 인터페이스(UI)의 구성 요소를 의미합니다. , 사용자가 직접 조작할 수 있는 객체들입니다. 예를 들어, 화면에 나타나는 버튼을 누르면 어떤 일이 일어나도록 하는 것이 위젯의 기능입니다.

 

반면에, (View)는 위젯을 포함하여 안드로이드 앱에서 화면을 구성하는 모든 객체를 의미합니다. 뷰는 위젯뿐만 아니라 텍스트, 이미지, 레이아웃 등의 모든 것을 포함합니다. 위젯은 뷰의 일부분으로, 뷰 내부에 존재합니다. 따라서, 뷰는 사용자가 앱에서 보는 모든 것을 의미합니다.

 

안드로이드에서는 위젯과 뷰를 구분하기 위해 사용하는 용어가 다릅니다. 위젯은 화면의 일부분이며, 뷰는 화면 전체를 의미합니다. 이러한 차이로 인해 뷰는 레이아웃을 포함하여 모든 것을 담을 수 있으며, 위젯은 단순한 기능을 수행하는 작은 객체입니다.

 

따라서, 위젯과 뷰는 모두 안드로이드 앱을 구성하는 필수적인 구성 요소입니다. 위젯은 사용자가 직접 조작할 수 있는 객체이며, 뷰는 모든 객체를 포함하고 앱에서 보이는 화면 전체를 의미합니다.

 

2.3. 이벤트 처리(Event handling)

 

이벤트 처리(Event handling)란 사용자가 프로그램에서 버튼 클릭, 키보드 입력 등과 같은 이벤트를 발생시켰을 때, 그에 대한 처리를 하는 것입니다. 이벤트 처리를 위해서는 이벤트 핸들러 또는 이벤트 처리기라는 함수를 등록해 두어야 합니다.

 

이벤트 핸들러는 이벤트가 발생했을 때 실행되는 함수로, 이벤트에 대한 처리를 담당합니다. 이벤트 핸들러는 이벤트와 연결되어 있으며, 이벤트가 발생하면 등록된 이벤트 핸들러가 실행됩니다. 이벤트 핸들러는 이벤트의 종류와 처리 방법에 따라 다양한 형태를 가지고 있습니다.

 

자바스크립트에서는 DOM Level 0, DOM Level 2와 같은 이벤트 모델을 제공하고 있으며, HTML 요소의 이벤트 처리기 속성에 직접 함수를 등록하거나, DOM 요소 객체의 이벤트 처리기 프로퍼티에 함수를 등록하는 방법 등이 있습니다. 이벤트 처리기를 이용하면, 사용자가 프로그램에서 발생시키는 다양한 이벤트에 대한 처리를 쉽게 구현할 수 있습니다.

 

C#에서도 이벤트 처리기 메서드를 정의하여 이벤트 처리를 할 수 있습니다. 이벤트 처리기 메서드는 처리 중인 이벤트에 대한 대리자의 시그니처와 일치해야 하며, 이벤트를 구독하여 이벤트가 발생했을 때 알림을 받도록 설정할 수 있습니다.

 

이러한 이벤트 처리는 이벤트 주도형 프로그램(event driven program)에서 매우 중요한 역할을 합니다. 이벤트 처리를 적절히 구현함으로써 프로그램의 유지 보수성과 사용자 경험을 향상할 수 있습니다.

 

2.4. 데이터베이스 연동

 

데이터베이스 연동이란, 웹 애플리케이션과 데이터베이스 간의 상호작용을 가능케 하는 기술을 말합니다. 이를 통해 웹 애플리케이션에서는 데이터베이스에 저장된 정보를 읽어오거나 쓸 수 있습니다. 데이터베이스 연동은 웹 애플리케이션의 기능을 확장하고, 웹 서버와 데이터베이스 간의 데이터 전송 시간을 단축시켜 주는 등 여러 가지 장점을 제공합니다.

 

데이터베이스 연동 기술은 다양한 방법이 있습니다. 대표적으로는 CGI, Java, PHP 등을 이용한 데이터베이스 연동 기술이 있습니다. 이 중에서도 PHP를 이용한 AJAXMySQL 데이터베이스 연동이 가장 널리 사용되고 있습니다. 이를 통해 웹 애플리케이션에서는 별도의 페이지 로딩 없이도 데이터베이스 내용을 불러들여 처리할 수 있으며, 사용자에게 더욱 편리한 서비스를 제공할 수 있습니다.

 

데이터베이스 연동은 웹 애플리케이션을 개발하는 데 있어서 중요한 기술 중 하나입니다. 이에 대한 정보는 많은 웹사이트에서 찾아볼 수 있으며, 이를 통해 웹 어플리케이션 개발에 필요한 데이터베이스 연동 기술을 습득할 수 있습니다.

 

3. 새로운 안드로이드 앱 개발 방법

 

3.1 Kotlin을 이용한 개발

 

KotlinJetbrains에서 개발한 정적 입력 방식의 프로그래밍 언어입니다. Kotlin은 안드로이드 앱 개발에 매우 적합하며, 전문 Android 개발자의 60% 이상이 Kotlin을 사용하고 있습니다. Kotlin은 생산성, 개발자 만족도 및 코드 안전성을 높이는 데 도움이 됩니다. Kotlin은 표현력이 높고 간결하여 아이디어를 표현하는 데 집중할 수 있으며, 상용구 코드 작성을 줄일 수 있습니다. Kotlin을 사용하면 null 허용 여부가 유형 시스템에 포함되어 NullPointerException을 방지하는 데 도움이 됩니다. Kotlin을 사용하는 Android 앱은 다운될 확률이 20% 낮습니다. Kotlin을 사용하여 Android 앱을 개발하려면 Android 스튜디오에서 Kotlin을 설정하고, Kotlin으로 뷰를 수정하고, 이미지 파일 및 클릭 핸들러를 사용하는 앱을 만들 수 있습니다.

 

Kotlin을 사용하여 Android 앱을 개발하기 위한 기초적인 내용은 Android Kotlin 기초 Codelab에서 학습할 수 있습니다. 이 과정에서는 Kotlin을 사용하도록 Android 스튜디오를 설정하고, 앱을 빌드하는 방법을 설명합니다. 또한 Kotlin Android 앱에서 뷰를 사용하고 수정하는 방법, API 수준 및 Android Jetpack 라이브러리에 관해서도 알아볼 수 있습니다. 이 과정은 순서대로 진행하는 것이 좋지만 순서를 바꿔 진행해도 괜찮습니다.

 

Kotlin In Action 책에서는 Kotlin의 기능과 사용 방법을 설명합니다. 이 책은 Kotlin의 개념을 이해하고 실제 애플리케이션을 개발하는 데 필요한 지식을 제공합니다. 예를 들어, Kotlin에서는 엘비스 연산자를 사용하여 null을 다른 값으로 변환할 수 있습니다. 이를 통해 NullPointerException을 방지할 수 있습니다.

 

3.2. ConstraintLayout을 이용한 레이아웃 작성

 

안드로이드에서 UI 레이아웃을 구성하는 방법으로 ConstraintLayout이 많이 사용됩니다. 이 레이아웃은 객체 간에 제약 조건을 설정하여 배치하는 것으로, 더 유연하고 복잡한 레이아웃을 구성할 수 있습니다.

 

기존의 LinearLayout이나 RelativeLayout과 달리, ConstraintLayout은 객체 간의 상대적인 위치나 크기를 설정하는 대신, 객체간의 상대적인 위치에 대한 제약 조건을 설정합니다. 예를 들어, "A 객체는 B 객체의 오른쪽에 위치하고, C 객체의 아래에 위치하며, D 객체와의 간격은 10dp"와 같은 제약 조건을 설정할 수 있습니다.

 

이렇게 설정된 제약 조건은 ConstraintLayout이 내부적으로 해석되어, 객체들이 화면에 적절하게 배치됩니다. 이러한 제약 조건은 선형 방정식으로 나타낼 수 있으며, ConstraintLayout은 이를 해석하는 선형 방정식 해석기를 포함합니다.

 

이를 통해, ConstraintLayoutLinearLayout이나 RelativeLayout과 비교하여 유연하고 복잡한 레이아웃을 빠르고 쉽게 구성할 수 있습니다. 또한, 성능 측면에서도 RelativeLayout과 비슷하거나 더 빠르다고 합니다.

 

Android Studio에서는 ConstraintLayout을 사용하는 레이아웃을 시각적으로 구성하는 Layout Editor Tool을 지원하여, 코드 작성 없이도 빠르고 쉽게 레이아웃을 구성할 수 있습니다.

 

반응형