기타

안드로이드 기초

leeeehhjj 2023. 5. 9. 21:56

1. 안드로이드 4대 컴포넌트 -> 인텐트를 통해 상호작용

- 액티비티 : 사용자가 appication과 상호작용하며 보이는 화면

- 서비스 : 백그라운드에서 작업을 처리하기 위해 사용, App이 종료되어도 백그라운드에서 동작(ex) 음악 앱)

- content provider : 데이터를 관리하고 다른 app의 데이터를 제공하는데 사용. 데이터를 저장하고 불러와서 사용할 수 있는 시스템(ex) 인스타에서 갤러리 앱 접근을 통해 사진을 가져옴)

- broadcast receiver : 안드로이드 os로부터 발생하는 이벤트 정보를 받고 대응하는 컴포넌트.(ex) 배터리 부족 알림)

 

2. 인텐트란

: 애플리케이션 컴포넌트 간 정보를 전달하는 역할을 하는 통신수단

 

3. 액티비티 라이프 사이클

onCreate : 액티비티 생성 시 실행

onStart : 화면에 보임

onResume : 실행 중

onPause : 화면의 일부가 다른 액티비티에 가려짐

onStop : 다른 액티비티 실행으로 완전 가려짐

onDestroy : 종료

-> 리스트뷰에 항목을 추가할 때 onCreate에서 intent를 이용해 내용 작성 후 finish를 하면 리스트뷰에 추가가 안 된다.

이때는 onResume에 리스트뷰를 보여주는 기능을 작성해주면 해결된다.

 

4. LinearLayout, RelativeLayout, ConstraintLayout 

- LinearLayout : weight을 통해 화면의 비율 조정

- RelativeLayout : 요소들 간의 상대적 위치에 따라 배치

- ConstraintLayout : Linear의 가중치의 장점 + Relative의 상대적 위치에 따른 배치 장점 + 체인 이용하여 다른 레이아웃 없이 요소를 그룹화

 

5. Fragment life cycle

: onAttach, onCreate, onCreateView, onPause, onStop, onDestroyView

 

6. Process와 thread

: process는 운영체제로부터 메모리를 할당받아 실행되는 프로그램의 단위, thread는 process 내에서 실행되는 흐름 단위

 

7. thread간 통신

 : handler 사용

- handler : looper로부터 받은 message나 runnable 객체를 실행, 처리하거나 다른 스레드로부터 메시지를 받아 message queue에 넣는 역할을 함.

looper : 무한히 루프를 돌며 자신이 속한 스레드의 메시지 큐에서 message나 runnable 객체를 꺼내 handler에게 전달

 

8. DP

: 독립화소, 즉 디스플레이의 해상도와 상관없이 다룰 수 있는 단위