본문 바로가기

분류 전체보기32

안드로이드 UI - 2 안드로이드 UI 학습 두 번째 주제는 개발하면서 자연스럽게 사용한 경험은 있으나 그 원리에 대해서 몰랐던 것들에 대해 살펴볼 것이다.Fragment, Constraint Layout 등 이들의 동작 원리부터 언제 사용해야 하는지까지 한 번에 정리해 보자. 프래그먼트 (Fragment)프래그먼트는 액티비티 내에서 UI의 일부를 구성하는 재사용 가능한 모듈을 의미한다.이게 무슨 말인가? 싶을 수 있다. 앱 개발을 하다 보면 액티비티로 만들어야 할 정도는 아닌 애매한 화면들을 개발해야 할 때가 있다. 이럴 때 쓰는 것이 프래그먼트이다. 프래그먼트는 자체적인 레이아웃을 관리할 수 있고 자체적인 생명주기를 가지며 자체적인 입력 이벤트를 처리할 수 있는 마치 액티비티처럼 동작하는 UI 모듈을 의미한다고 보면 된다... 2025. 9. 21.
안드로이드 UI - 1 오늘은 안드로이드의 UI에 대해 알아볼 것이다. 워낙에 양이 많이 부분이니 조금씩 나누어서 보게 될 것 같다.UI, 오늘날의 사용자 인터페이스는 GUI 형태로 제공되는 경우가 많다. 이에 사용되는 컴포넌트에 대해서 알아보자.크게 보면 안드로이드의 UI는 "뷰"와 "레이아웃"으로 정의된다.뷰는 TextView, ImageView 등 다양하게 존재할 수 있는 그래픽의 요소, 컴포넌트들이고 레이아웃은 이 뷰들을 화면에 어떻게 배치할지 결정하는 역할을 한다. 뷰 (View)안드로이드의 모든 UI 컴포넌트들은 View 클래스를 근본으로 한다.즉, 뷰 클래스는 모든 UI 컴포넌트의 부모 클래스이며 모든 UI 컴포넌트들은 이 뷰가 확장된 형태이다. 따라서 기본적인 속성들을 모두 공유하고 있으며 이 속성은 화면에 어떻.. 2025. 9. 21.
안드로이드의 기본 요소 오늘은 안드로이드를 이루는 기본 요소들에 대해 알아볼 것이다.안드로이드의 기본 컴포넌트는 크게 4가지로 나누어진다.Activity, Service, Broadcast Receiver, Content Provider로 이루어지는데 이에 대해 하나씩 자세히 알아볼 것이다.추가로 이들과 함께 사용되면서 안드로이드의 핵심을 이루는 Manifest와 Intent도 함께 공부해 보자. 액티비티 (Activity)액티비티는 사용자와 상호작용하는 UI 화면을 담당하는 컴포넌트이다.모든 앱에 반드시 1개 이상 존재하며 사용자가 앱을 실행하면 가장 먼저 마주하게 된다. 즉, 앱과 상호작용하기 위한 진입점이라 할 수 있으며 앱을 실행할 때 앱 전체를 호출하는 게 아니라 앱의 액티비티를 호출하게 된다. 액티비티 생명주기 (L.. 2025. 8. 27.
안드로이드 앱이 만들어지는 과정 오늘은 안드로이드 앱이 만들어지는 과정에 대해 공부하고자 한다.먼저 앱 개발에 있어 기본이 되는 OOP(Object Oriented Programming)와 빌드의 개념과 과정, 시스템까지 이해해 볼 것이다. 앱 설계하기, OOP란? 앱 개발에 앞서 가장 중요한 것은 앱을 설계하는 것이다. 물론 어떤 서비스를 만들지 어떤 기능을 제공할지 정하는 것도 설계의 일부겠지만 프로그래밍 관점에서의 설계 또한 매우 중요하다. 이에 자주 언급되는 것은 바로 OOP이다.Object Oriented Programming 이름에서 보이는 것처럼 객체들의 상호작용으로 구조화하여 유연하고 유지보수가 용이하게 만드는 프로그래밍 방식을 말하며 주로 Java나 Kotlin 같은 객체 지향 언어를 사용해 구현한다. 그래서 사실 OO.. 2025. 8. 21.
안드로이드의 언어 안드로이드에서 사용할 수 있는 언어는 어떤 게 있을까? 기본적으로 Java와 Kotlin이 있고, C++은 JNI(Java Native Interface)를 활용해서 사용가능하다.하지만 오랜시간 Java가 사용된 만큼 대부분의 레거시는 Java로 작성되어 있고 생태계 또한 압도적이다.실제로 프로젝트를 진행하며 참고했던 대부분의 자료는 Java로 작성되어 있었고, Kotlin은 주로 Jetpack Compose 같은 최신 라이브러리나 UI 작성에 많이 활용되는 것으로 파악했다. C++은 주로 성능이 필요한 곳에서 사용되는데 하드웨어에 직접 접근해서 연산을 수행하는 부분의 최적화나 네이티브(C/C++) 코드로 제공되는 라이브러리 등에서 사용된다. 안드로이드의 코드 대부분은 Java와 Kotlin으로 작성되는.. 2025. 8. 20.
안드로이드 개발 공부 SSAFY(삼성 청년 SW AI 아카데미) 12기 프로젝트 실습코치를 마치고 꿀같은 휴식기간을 보냈다. 지난 면접들을 돌이켜본 결과, 개발에 치중한 나머지 기초가 부족하다고 생각했다.SSAFY 11기부터 12기 실습코치까지 진행하며 1년 반 정도를 쉼 없이 달려왔는데 그 동안 너무 정리없이 공부했기에 머릿속에서 사라진 지식들을 다시 정립할 겸 블로그 글을 작성해보려한다.안드로이드와 임베디드 중 정리가 더 안되어있는 안드로이드 위주로 공부해볼까 하는데 어떻게 시작해야할지 조금 막막했다.블로그 활용, 도서, 강의 등 다양한 방법들을 찾던 중, 안드로이드 로드맵이라는걸 찾았는데 지금까지 흩어져있던 지식들을 하나씩 되짚어 보며 진행하기에 괜찮아보였다. 해당 로드맵은 아래 링크에 있으며 2025년 버전으로 다듬어.. 2025. 8. 19.