어흥

[안드로이드] 기본 개념 본문

Android

[안드로이드] 기본 개념

라이언납시오 2020. 5. 21. 17:12
728x90
반응형

1. MVC 패턴

- Model, View, Controller

- Model: 프로그램이 작업하는 세계관의 요소들을 개념적으로 정의한 것 (DTO, DAO로 분류된다)

- View: 사용자가 보는 화면에 입출력 과정 및 결과를 보여주기 위한 역할을 수행한다

- Controller: 도메인 객체들의 조합을 통해 프로그램의 작동 순서나 방식을 제어한다

- MainActivity -> View, Data(Item) -> Model, Adapter -> Controller 

 

2. 컴포넌트

- Activity: UI를 관리하고, 사용자의 다양한 이벤트를 처리하는데 사용된다

- Service: 화면에서 보이지 않고, 백그라운드에서 처리하는데 사용된다(Ex. 멜론)

- Broadcast Receiver: 안드로이드에서 발생하는 특정 브로드캐스트 메세지를 처리하는데 사용된다

- Content Provider: 앱 사이의 데이터의 공유를 위한 인터페이스를 제공한다(Ex. 주소록 사용, 앨범 사용)

 

3. 안드로이드 액티비티 생명주기

- onCreate(): 가장 처음에 한번만 호출

- onStart(): 시작할때 호출

- onPause(): 화면에는 보이지만 다른 액티비티를 사용하고 있는 상태(포커스를 얻지 못한 상태)

- onStop(): 화면에도 보이지 않을 때

- onRestart(): onStop()이후에 액티비티가 다시 호출될때(ex. 홈버튼 눌렀다가 앱 재실행할때)

- onResume(): 화면이 포커스를 얻었을 때 호출(ex. 사용중이던 앱 목록을 띄었을 때, 포커스를 받지 않는 액티비티 -> 확신은 없습니다만...)

- onDestroy(): 액티비티가 종료되기 직전에 호출 (이후에 finish method 실행)

 

4. Fragment 생명주기

- onAttach() -> onCreate() -> onCreateView()-> [onPause() -> onStop() -> onDestroyView()] : 화면이 포커스를 잃었을 때 -> [다시 해당 Fragment의 부모 Activity가 호출되고 해당 Framgent가 Focus를 얻었을 때, onCreateView()로 돌아온다] -> onDestroy() -> onDetach()

 

5. Manifest

- Application 태그: 앱 아이콘, 이름 정의

- Activity 태그: 액티비티 클래스명과 이름을 정의, Intent filter를 이용하여 Splash와 같은 효과를 줄 수 있다

- Service/Receiver/Provider 태그: 서비스, 리시버, 프로바이더에 대한 내용 정의

- Permission 태그: 앱에서 필요한 권한을 정의

 

6. Context (Abstract 클래스)

- 어플리케이션에 관하여 시스템이 관리하고 있는 정보에 접근

- 안드로이드 시스템 서비스에서 제공하는 API를 호출할 수 있는 기능

- ActivityManagerService가 어플레이션 정보를 관리한다(Key, value 형식) -> ActivityManagerService 통해서만 어플에 관련된 정보에 접근 가능

 

[결론]

- 자신이 어떤 어플을 나타내고 있는지 알려주는 ID 역할

- ActivityManagerService에 접근할 수 있도록 하는 통로 역할

 

 

7. 코틀린의 장점

- NullPointerException 다루는데 용이

- Collections에 filter, map, foreach같은 고차함수 적용가능

- 서버에서 수신받은 데이터를 컬렉션으로 다룰 일이 많다 -> 코드의 간결하고 안전하게 만드는 데 도움된다

- 자바와의 호환성이 좋고, 기존의 라이브러리, 프레임워크를 제약없이 사용 가능

- Getter, Setter를 번거롭게 쓸 필요 없이, 한방에 정리 가능하다

 

8. RecyclerView

- 외부 라이브러리 추가 필요(Gradle에 추가)

- ListView의 진화로, 여러 컴포넌트들이 데이터를 표현하기 위해 같이 사용될 수 있다

- ViewHolder는 각 RecyclerView에 1개 이상으로 존재하며, 각 ViewHolder는 어댑터에 의해 관리되며 이 객체는 RecyclerView.Adapter 객체다

 

9. Gradle

- 정의: 빌드 시스템, 프로그램의 소스 코드를 빌드하는 빌드 도구 중 하나이다 -> 응용 프로그램 개발을 시작하기 전에 설치해야 한다

- 플러그인 기반 시스템으로 매우 유연하다

 

 

참조한 블로그:

https://jw910911.tistory.com/18

- https://arabiannight.tistory.com/entry/272

 

728x90
반응형

'Android' 카테고리의 다른 글

[안드로이드] OAuth 2.0  (0) 2020.05.28
Comments