6-1 화면을 구성하는 방법 액티비티-뷰 구조 액티비티(Activity)-뷰(View) 구조는 안드로이드 애플리케이션에서 사용자 인터페이스(UI)를 구성하는 기본적인 설계 패턴이다. 이를 이해하기 쉽게 설명하자면, 안드로이드 앱의 화면을 구성하는 액티비티(Activit
안드로이드에서 화면을 만들어 표시하는 컴포넌트는 액티비티이다.액티비티가 실행되면서 뷰 클래스를 이용해 화면을 구성한다.액티비티 화면을 구성할 때 사용하는 클래스는 모두 View의 하위 클래스다. 따라서 화면 구성과 관련한 클래스를 통칭하여 View Class라고 한다.
text: 텍스트 뷰에 표시할 문자열을 설정합니다.textColor: 텍스트의 색상을 설정합니다.textSize: 텍스트의 크기를 설정합니다.textStyle: 텍스트의 스타일을 설정합니다 (예: bold, italic).autoLink: 자동으로 링크를 감지하고 클릭
뷰 바인딩은 Android에서 XML 레이아웃 파일의 UI 요소에 쉽게 접근할 수 있도록 도와주는 기능이다. 뷰 바인딩을 사용하면 findViewById를 사용하지 않고도 XML 레이아웃의 뷰에 타입 안전하게 접근할 수 있다.만약 뷰 바인딩을 사용하지 않고, 100개의
LinearLayout: 세로 방향으로 자식 뷰들을 정렬하며, 전체 화면을 채우도록 설정됩니다. padding 속성으로 내부 여백을 추가한다.TextView (첫 번째): main_desc 문자열 리소스를 텍스트로 사용하고, 텍스트 크기를 17dp로 설정한다. layo
안드로이드 앱은 다양한 뷰를 적절하게 배치해서 화면을 구성한다.이때 뷰를 배치하는 클래스를 레이아웃 클래스라고 한다.레이아웃 클래스는 그릇의 역할을 한다. 레이아웃 클래스는 저마다 배치 규칙이 있다. LinearLayout은 뷰를 가로나 세로 방향으로 나열하는 레이아웃
RelativeLayout은 상대 뷰의 위치를 기준으로 정렬하는 레이아웃 클래스다.즉, 화면에 이미 출력된 특정 뷰를 기준으로 방향을 지정하여 배치한다.android:layout_above: 기존 뷰의 위쪽에 배치android:layout_below: 기존 뷰의 아래쪽
FrameLayout은 뷰를 겹쳐서 출력하는 레이아웃 클래스이다.카드를 쌓듯이 뷰를 추가한 순서대로 위에 겹쳐서 출력한다. 버튼을 누르면 안드로이드 사진이 나오고,안드로이드 사진은 누르면 버튼이 나온다.실제로 FrameLayout은 자주 사용되지 않는다. 그러나 자주
GridLayout 배치 규칙 GridLayout은 행과 열로 구성된 테이블 화면을 만드는 레이아웃 클래스다. LinearLayout처럼 orientation처럼 속성으로 가로나 세로 방향으로 뷰를 나열하는데, LinearLayout과 다르게 줄바꿈을 자동으로 해준다.
ConstraintLayout은 뷰를 상대 위치로 배치하는 RelativeLayout과 비슷하지만 더 다양한 속성을 제공한다. 그만큼 복잡하기 때문에 레이아웃 편집기에서 사용하는 것이 편리하다.카카오톡 사진을 이미지뷰로 가져왔다. Constraint Widget을 사용
앱의 화면에서 발생하는 사용자 이벤트는 touch다.터치란 손가락으로 화면을 잠시 눌렀다가 떼는 행위이다. 앱은 보통 사용자의 터치를 인식하고 화면을 손가락으로 눌렀는지 떼었는지 swipe 했는지에 따라 다르게 동작하도록 구현한다. onTouchEvent() 함수를 재
안드로이드에서 이벤트 핸들러를 구현하는 다양한 방법이 있습니다. 일반적으로 이벤트 처리 방법에는 4가지 접근 방식이 있으며, 이 글에서는 각각의 구현 방법을 다뤄보겠습니다.코틀린에서는 object 키워드를 사용하여 익명 객체를 생성하고 인터페이스를 구현할 수 있습니다.
액티비티 화면은 TextView, EditText, ImageView, Button 등의 뷰로 구성된다. 이 뷰들을 사용자가 터치했을 때의 이벤트는 터치 이벤트를 직접 처리하지 않고, 각 뷰에서 제공하는 별도의 이벤트 처리 방식을 사용한다.뷰의 이벤트도 터치 이벤트로
앱에서 이용하는 리소스는 크게 앱 리소스와 플랫폼 리소스로 구분된다.앱 리소스는 개발자가 직접 추가한 리소스를 의미하며, 주로 res 폴더 아래에 위치한다. 이 리소스들은 앱의 UI 구성과 기능 구현에 중요한 역할을 한다. values: 재사용 가능한 값들을 모아두는
안드로이드 앱 개발 시, minSdk와 targetSdk를 설정하여 앱의 최소 지원 버전과 목표 버전을 지정한다.위 설정은 앱이 API 레벨 34 버전에서 개발되지만, API 레벨 24 이상을 지원하는 기기에서도 오류 없이 동작해야 함을 의미한다. 하지만, 개발 중에
플랫폼 API는 ART(Android Runtime)에서 제공하는 안드로이드 앱의 핵심 라이브러리다. ART는 대부분 android 또는 java로 시작하는 패키지명을 사용한다. ex) java.lang.String, java.util.Date이전에 배웠던 것처럼 안드
프래그먼트와 뷰 페이저2는 중요하다. androidx.fragment 라이브러리를 이용해 구현한다.하나의 액티비티 안에서 화면 일부분을 따로 만지고 싶은데 어떻게 하지..?다른 액티비티에서도 현재 액티비티의 부분들을 써야하는데..그 때 필요한 개념이 프래그먼트(Frag
4. 리사이클러 뷰 - 목록 화면 구성 리사이클러 뷰 사용법 리사이클러 뷰란, 여러 가지 항목을 나열하는 목록 화면이다. 리사이클러 뷰는 목록을 만드는데 이것만 사용해선 화면에 아무것도 출력되지 않는다. 그러므로 다음과 같은 구성요소를 이용해야 한다. ViewH
액티비티는 안드로이드 앱에서 화면을 구성하는 컴포넌트로, 이미 알아보았었다.하지만 액티비티를 제대로 이해하려면 화면 구성 방법 이외에 동작 방식 등을 구체적으로 알아야 한다.안드로이드 앱은 모두 4개의 컴포넌트로 개발하는데, 이때 핵심 클래스가 바로 Intent다.인텐
구글의 머티리얼 디자인(material design)은 모바일, 데스크톱 등 다양한 장치를 아우르는 일관된 애플리케이션 디자인 지침이다. 앱바란 화면 위쪽의 꾸밀 수 있는 영역이다. 앱바는 단순 액션바나 툴바와 다르게, 화면에서 위쪽 영역을 다양하게 꾸밀 때 사용한다는
인텐트 필터 지금까지 살펴본 내용을 보면 인텐트를 시스템에 전달할 때 실행할 대상 컴포넌트 정보를 다음처럼 지정했다. 이 코드에서 실행할 대상 컴포넌트는 DetailActivity다. 같은 앱의 컴포넌트라면 이처럼 클래스 타입 레퍼런스를 설정할 수 있지만, 외부 앱의
액티비티는 사용자에게 UI가 있는 화면을 제공하는 앱 컴포넌트이다. 액티비티를 다룰 때 중요한 점은 생명주기로 이해하고 각 상황에 적절하게 대처하는 것이다. 액티비티의 상태는 크게 3가지로 구분할 수 있다.활성: 액티비티 화면이 출력되고 있고 사용자가 이벤트를 발생시킬
브로드캐스트 리시버(Broadcast Receiver)는 안드로이드 애플리케이션에서 중요한 역할을 하는 컴포넌트다. 브로드캐스트 리시버는 시스템 또는 애플리케이션에서 발송된 브로드캐스트 인텐트를 수신하고 처리하는 역할을 한다.여기서 브로드캐스트 인텐트는 특정 이벤트가
서비스(Service)는 Android 애플리케이션에서 백그라운드에서 실행되는 컴포넌트다. 서비스는 사용자 인터페이스가 없으며, 장시간 실행되는 작업을 처리하거나 앱이 백그라운드에서 동작할 수 있도록 한다. 예를 들어, 음악 재생, 파일 다운로드, 네트워크 통신 등과
콘텐츠 프로바이더는 앱끼리 데이터를 연동하는 컴포넌트다. 예를 들어 앱을 개발하면서 다른 앱의 데이터를 사용할 때 콘텐츠 프로바이더를 사용한다. 이때 데이터는 대상 앱의 DB 또는 메모리에 있다. ex) 카톡에서 프사 바꿀 때 갤러리 내 사진 접근데이터 공유:앱 간 데
1. 저장소에 데이터 보관하기 Android 애플리케이션 개발에서 데이터를 저장하고 관리하는 방법은 여러 가지가 있다. 데이터의 크기, 형식, 접근 방법, 그리고 보안 수준에 따라 적절한 저장소를 선택하는 것이 중요하다. 대표적인 저장소 방법으로는 데이터베이스, 파