Android 앱 개발(8)
-
Android - 액티비티 생명 주기
# 액티비티 생명 주기의 개념 # 액티비티의 수명- onCreate()와 onDestroy() 사이에 존재- onCreate(): 액티비티가 생성되어 레이아웃 설정 등을 수행- onDestroy(): 호출되는 시점에 사용하고 있는 리소스를 모두 해제하고 마감 # 액티비티 화면에서 눈에 보이게 되는 Visibility- onStart()와 onStop() 사이에 존재- 유저가 액티비티를 화면에서 보고 상호작용이 가능- onStop()이 호출되어 새 액티비티가 시작되면 기존의 액티비티는 Stop- 시스템은 액티비티의 전체 수명 내내 onStop()과 onStart()를 여러 번 호출 가능- 이때 액티비티는 유저에게 보였다가 숨겨짐을 반복 # 액티비티가 foreground에서 동작하는 구간- onResume(..
2024.06.20 -
Android - 인텐트(Intent)
# 인텐트의 개념- 개념: 일종의 메시지 객체로, 다른 앱 구성요소(액티비티, 서비스, 브로드캐스트 리시버)로 작업을 요청하는 기능 수행 # 인텐트의 유형1) 명시적 인텐트(Explicit Intent)- 특정한 컴포넌트를 직접적으로 호출- 인텐트 객체에 시작하고자 하는 구성 요소의 이름을 명확하게 설정하고 startActivity() 또는 startService() 메소드를 통해 해당 컴포넌트를 실행- 주로 앱 내부에서 다른 액티비티나 서비스를 시작할 때 사용(메인 액티비티에서 사용자 입력을 받아 세부 정보를 표시하는 새로운 액티비티를 띄울 때 등) 2) 암시적 인텐트(Implicit Intent)- 특정한 컴포넌트를 명시하지 않고, 수행하고자 하는 일반적인 작업을 인텐트 객체에 설정해 startAct..
2024.06.20 -
Android - 액티비티(Activity)
# 안드로이드 4대 컴포넌트1) 액티비티- 사용자가 직접 상호작용하는 화면- 사용자 UI 담당, 사용자 입력에 반응하는 이벤트 기반 프로그래밍 실현 2) 서비스- 백그라운드에서 오랜 시간 실행되어야 하는 작업(음악 재생, 파일 다운로드 등)- 사용자가 직접적으로 인지하지 못하는 백스테이지 작업 담당 3) 브로드캐스트 리시버- 안드로이드 시스템으로부터 발송되는 다양한 이벤트나 정보를 앱이 받을 수 있게 해주는 컴포넌트(배터리 부족 경고, 화면 꺼짐 등의 시스템 이벤트 처리)- 앱은 브로드캐스트 메시지를 구독하고 해당 이벤트가 발생했을 때 반응할 수 있음 4) 콘텐트 프로바이더- 앱 간의 데이터 공유 실현(연락처 어플이 다른 어플에 연락처 데이터를 제공하는 등)- 데이터를 저장/관리하는 일종의 DB 역할 #..
2024.06.20 -
Android - Layout
# 레이아웃- 개념: ViewGroup의 파생 클래스로서, 포함된 View를 정렬하는 기능 # 레이아웃의 종류1) Linear Layout- 자식 뷰들을 수직/수평 배치하는 레이아웃- vertical: 자식 뷰들을 아래로 수직 배열- horizontal: 자식 뷰들을 오른쪽으로 수평 배열- 자식 뷰들은 오직 한 방향으로만 배치(vertical / horizontal)- 위젯의 크기와 관계없이 한 줄로만 배열- 자식 뷰들은 중첩되지 않고 지정한 방향으로만 쌓이는 형태로 표시(stacked)- LinearWeight: 자식 뷰들이 배치될 때 전체 영역 대비 비율의 개념으로 지정할 수 있는 가중치를 설정 2) Relative Layout- 뷰를 서로 간 위치 관계나 컨테이너와의 위치 관계에 따라 지정하여 배치..
2024.06.19 -
Android UI - View & Widget
# 안드로이드 UI 설계 개요- 뷰(View): 안드로이드 앱의 UI를 구성하는 기본 단위- 뷰의 구성: 위젯, 레이아웃 1) 위젯(Widget): View의 서브 클래스로서, 앱 화면을 구서하는 시각적인 모양을 지닌 UI 요소(버튼, 메뉴, 리스트 등) 2) 레이아웃(Layout): ViewGroup의 서브 클래스로서, 다른 뷰를 포함하면서 이들을 정렬하는 기능을 지닌 UI요소 # UI 설계 방법1) XML을 이용하여 설계 - Layout Editor 활용2) XML 파일을 직접 편집 # 레이아웃 - 위젯 - 뷰 관계 (1) 레이아웃 / (2) 위젯 / (3) 뷰 # 위젯- 개념: View의 서브 클래스 중 화면에 보이는 것(TextView, EditText, Button 등) # 뷰- 개념: 모..
2024.06.19 -
Android 앱 개발 입문 - Android Studio
# 유용한 단축키- Ctrl + D: 한 줄 복사- 주석: Ctrl + /- 바로 직전에 봤던 코드로 돌아가기: Ctrl + [ # Android 프로젝트 구조1) 앱 구성 파일 분석 (1) Gradle 빌드 설정 파일 - Gradle: 안드로이드 앱의 빌드 도구 - build.gradle = Gradle의 설정 파일 - 프로젝트 수준의 build.gradle(Project:AndroidLab) - 모듈 수준의 build.gradle(Module:AndroidLab.app)이름설명build.gradle빌드 설정 파일AndroidManifest.xml앱 메인 환경 설정 파일res리소스 폴더activity_main.xml레이아웃 xml 파일MainActivity.kt메인 액티비티 파일 # ..
2024.06.18