0) 안드로이드의 삼대장&원수 (??)
출처: https://www.youtube.com/watch?v=49N59HnCAxQ&t=109s
- 원수: Activity !!! : foreground(눈에 보일 때만) 일을 하는 녀석
액티비티는 곧 화면 (UI를 보여주고 실제 기능까지 한다. 다 한다.)
- 대장 1: ContentProvider: 자료나 데이터 받아오는 경우 (사용하지 않는 경우 있음)
- 대장 2: Service: background(눈에 보이지 않는데) 일을 하는 녀석
- 대장 3: BroadcastReceiver: 알림을 도와주는 녀석 (ex. 카톡 메시지가 왔을 때 '메시지 왔다'는 사실을 알려주는 것.) 콜백과 비슷한 기능.. 통신 느낌.
1) Activity의 활동 수명
2) View: 화면 그 자체
- Activity에 씌우는 화면 껍데기
- XML, Java 둘 중 하나로 작성 가능 (보통 XML)
- xml파일에 <TextView.../> 하는 게 다 여기에 해당
- 보통 widget, adapter, layout 계열로 나눌 수 있음
- widget; TextView, ImageView 등. 용도가 뚜렷함.
- adapter; ListView, GirdView, RecyclerView 등. 여러 개의 많은 정보를 길게 스크롤하여 나열할 때 많이 씀
3) Layout
- layout; LinerLayout, RelativeLayout, FrameLayout... 화면 공간 배분할 때 많이 쓰임.
4-1) Thread
- 작업의 흐름
- 기본적으로 main / UI thread가 존재함
4-2) Multi threading : 분업
출처: https://www.youtube.com/watch?v=7oeSMTfZ2mo&t=1129s
- 단!! 무조건 많을수록 좋은 것은 아니다: 빠른 속도로 다양한 일을 하기에, 동시에 되는 것처럼 착각하는 경향이 있음.
- 일반적인 앱의 경우, main에 1~2개 Thread만 멀티로 두는 편
- Thread: java에서 제공하는 클래스
- Handler: android에서 제공하는 클래스
방법 1: 자바스러움
1) Thread가 실제 계산/어떤 일을 수행하고 나서. 일을 다 한 내역을 Handler thread에 보내줌
2) Thread로부터 받아온 일 결과물을, Handler를 통해 간접적으로 반영해줌
방법 2: AsyncTask
- Android Recommended
- 간단하게 새로운 쓰레드를 생성해서 작업할 수 있음 (코드도 간결)
https://www.youtube.com/watch?v=LvBNVuXbS3E
'개발 > Mobile' 카테고리의 다른 글
[Java] 인터페이스2, 다형성 (0) | 2023.09.17 |
---|---|
[Android] Intent (0) | 2023.09.17 |
[Java] 인터페이스 (다중 상속 / 콜백 메소드) (0) | 2023.09.17 |
[Android] Activity States / Callback graph / 다음 액티비티로 넘어가는 Intent (0) | 2023.09.16 |
[Android] 간단한 이벤트 추가 (1) | 2023.09.16 |