Android/깨알 개념 정리(10)
-
[SOLID principles of Android] SOLID 원칙 정리와 안드로이드에서 사용 예
SOLID 원칙 컴퓨터 프로그래밍에서 SOLID란 로버트 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 마이클 페더스가 두문자어 기억술로 소개한 것이다. 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을 함께 적용할 수 있다. SOLID 원칙들은 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장하기 쉽게 될 때까지 소프트웨어 소스 코드를 리팩토링 하여 코드 냄새를 제거하기 위해 적용할 수 있는 지침이다. SRP(Single Responsibility Principle): 단일 책임 원칙 class는 오직 하나의 이유만 가져야 한다 즉, 하나의 변경 작업을 가져야 한다는 것을 의미한다 EX) RecyclerView..
2022.07.04 -
Android Interview / CS 정리
Android 4대 컴포넌트 Activity : UI 담당 컴포넌트 Service : 백그라운드 실행 컴포넌트 BroadCastReceiver : 단말에서 발생하는 다양한 이벤트를 받아 반응하는 컴포넌트 ContentProvider : 데이터 공유 컴포넌트 What is the Intent? 컴포넌트 간 정보를 주고받을 수 있음 명시적 Intent : Intent에 클래스나 컴포넌트 이름을 명시, 호출할 대상을 명확히 알 수 있는 것 암시적 Intent : 호출할 대상이 바뀔 수 있는 경우 ANR(application not responding) android 앱의 UI 스레드가 너무 오랫동안 차단될 경우 발생 Context Context : 현재 사용되고 있는 application의 포괄적인 정보를 지..
2022.05.17 -
Android 개념 정리 - 2 (Activity 4대 컴포넌트, 명시적 Intent & 암시적 Intent, ANR, ContentResolver & ContentProvider, dp & sp & px, Process & Thread, Context & ApplicationContext & ActivityContext)
Android 4대 컴포넌트 Activity - application의 화면 구성 컴포넌트 - 이동시 스택 구조로 쌓임 Service - application의 background로 실행되는 컴포넌트 - 화면이 없음, 네트워크 통신, DB 통신 BroadCast Receiver - application에서 특정한 이벤트를 받아 반응하는 컴포넌트 - 관심 있는 이벤트가 발생할 시 이러한 브로드 캐스트가 전송 - 정적 브로드캐스트란 매니패스트에 등록하여 사용 - 동적 브로드캐스트란 콘텍스트에 등록하여 사용 Content Provider - application내에서 사용할 수 있는 데이터를 공유하기 위한 컴포넌트 - 중앙 저장소의 역할 & 액세스 관리 - 생명주기 없음, 다른 앱의 데이터 변경 가능, 데이터..
2022.02.01 -
Android lifecycle 정리 (activity lifecycle, fragment lifecycle, view lifecycle)
Activity 개념 - 앱과 상용자의 상호작용을 위한 진입점 역할과 동시에 하나의 UI화면을 그리는 container lifeCycle onCreate(): Activity launch 후 최초 한번 실행, 데이터를 목록에 바인딩하고, 활동을 ViewModel과 연결하고, 일부 클래스 범위 변수를 인스턴스 화할 수도 있음 onStart(): 유저에게 보여지기 직전에 표시됨, broadCastReciver 등록, 앱이 UI를 관리하는 코드를 초기화 onResume() : foreground 상태, 앱이 사용자와 상호작용함 : 어떤 이벤트가 발생하여 앱에서 포커스가 떠날 때까지 앱이 이 상태에 머무름. 예를 들어 전화가 오거나, 사용자가 다른 활동으로 이동하거나, 기기 화면이 꺼지는 이벤트가 이에 해당됨 ..
2022.01.31 -
Android 개념 정리 - 1 (객체, 클래스, 자바 컬렉션, 추상 클래스, 인터페이스, 자료구조)
객체와 클래스 객체 - 클래스에 정의한 것을 토대로 실제 메모리에 할당된 것 클래스 - 객체를 생성하기 위한 설계도 또는 틀 - 속성과 행위를 변수와 메소드로 정의한 것 자바 컬렉션 Set - 순서를 유지하지 않고 중복이 허용되지 않는 데이터 집합 - HashSet, TreeSet List - 순서를 유지하고 중복이 허용되는 데이터 집합 - ArrayList : 검색에 용이하며 삽입, 삭제에는 시간이 오래 걸린다. - LinkedList : 삽입, 삭제에는 용이하며 검색에는 시간이 오래 걸린다. - Vector Map - 키, 값의 쌍으로 이뤄진 데이터 집합 - 순서가 유지되지 않으며 키의 중복은 허용하지 않고, 값의 중복은 허용함 - Hashtable, HashMap, TreeMap 추상 클래스와 인터..
2022.01.31 -
프로그래밍 정리 (SOLID 원칙, 객체지향 프로그래밍, 함수형 프로그래밍, 의존성 주입, 스레드 세이프(Thread safe), TDD)
SOLID 원칙 컴퓨터 프로그래밍에서 SOLID란 로버트 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 마이클 페더스가 두문자어 기억술로 소개한 것이다. 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을 함께 적용할 수 있다. SOLID 원칙들은 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장하기 쉽게 될 때까지 소프트웨어 소스 코드를 리팩터링 하여 코드 냄새를 제거하기 위해 적용할 수 있는 지침이다. SRP(Single Responsibility Principle): 단일 책임 원칙 소프트웨어 모듈은 변경의 이유가 단 하나여야만 한다. OCP(Open Closed Principle): 개방 폐쇄 원칙 모듈은 ..
2022.01.31