본문 바로가기

전공공부/모바일 프로그래밍10

책 "아키텍처를 알아야 앱 개발이 보인다" #2 Dagger2를 이용한 의존성 주입 기법 의존성 주입(DI: Dependency Injection) : 하나의 객체에 다른 객체의 의존성을 제공하는 기술 의존성 : 객체 지향에서 두 클래스 간의 관계, 일반적으로 둘 중 하나가 다른 하나를 필요로 한다. 주입 : 생성자나 메서드 등을 통해 외부로부터 생성된 객체를 전달받는 것 -> 의존 관계에 있는 클래스의 객체를 외부로부터 생성하여 주입받는 것 의존성 주입의 필요성 변경의 전이 : 의존 관계에 있는 클래스를 변경함으로 인해 다른 하나도 변경해야 하는 것 제어의 역전(IoC, Inversion of Control) : 어떠한 일을 수행하도록 만들어진 프레임워크에 제어권을 위임함으로써 관심사를 분리하는 것 의존관계에 있는 클래스의 생성 및 관리를 외부에 위.. 2022. 4. 6.
책 "아키텍처를 알아야 앱 개발이 보인다" #1 본 포스트는 아래 책을 읽고 공부한 것을 정리한 것이다. #1 안드로이드 애플리케이션 설계 소개 잘 설계된 애플리케이션은 유지 보수비를 줄여주고, 성능, 보안, 안정성 등의 측면에서 많은 이점이 있다. 가장 중요한 점은 설계 및 유지보수에 대해서 지속해서 고민하고 발전시키려는 의지 SOLID 원칙 코드의 가독성을 높이고 확장이 쉬운 구조를 만드는 지침 1. 단일 책임 원칙(Single Responsibility Principle) 어떤 클래스나 모듈 또는 메소드가 단 하나의 기능을 가져야 한다는 뜻 편집 과정에 변경이 일어나면 같은 클래스의 일부로 있는 출력 코드가 망가질 위험이 대단히 높다. 2. 개방-폐쇄 원칙(OCP : Open Closed Principle) 소프트웨어가 확장에 대해서는 열려 있어.. 2022. 4. 6.
kotlin 공부 #3 안드로이드 4대 컴포넌트 : 액티비티 서비스 브로드캐스트 리시버 콘텐츠 프로바이더 액티비티 컴포넌트 - Intent : 컴포넌트를 실행하려고 시스템에 전달하는 메시지 - 엑스트라 데이터 : 인턴트에 담는 부가 정보 인텐트 필터 명시적 인텐트 : 클래스 타입 레퍼런스 정보를 활용한 인텐트 암시적 인텐트 : 인텐트 필터 정보를 활용한 인텐트 - 인텐트 필터 하위에 설정 가능한 태그 컴포넌트의 기능을 나타내는 문자열 컴포넌트가 포함되는 범주를 나타내는 문자열 컴포넌트에 필요한 데이터 정보 액티비티 생명주기 - 생명주기 : 액티비티가 생성되어 소멸되기까지의 과정 - 액티비티 상태 활성 : 액티비티 화면이 출력되고 있고 사용자가 이벤트를 발생시킬 수 있는 상태 액티비티가 포커스를 가지는 상태 일시 정지 : 액티비.. 2022. 3. 23.
kotlin 공부 #2 1은 인터넷으로 아직 정리하지 않음. 본 페이지는 개인 공부 정리용, 단어 검색용 깡샘의 안드로이드 앱 프로그래밍 with 코틀린 책을 보고 공부하는 것임 lamda 함수 : {매개 변수 -> 함수 본문} => 반환값 : 함수의 마지막 줄의 계산 결과 typealias : 타입의 별칭을 선언하는 키워드 고차함수 : 함수를 매개변수로 전달 받거나 반환하는 함수 데이터가 아닌 함수를 반환값으로 사용 fun hotFun(arg: (Int) -> Boolean) : () -> String{ val result = if(arg(10)){ "valid" }else{ "invalid" } return {"hfFun result : $result"} } fun main(){ val result = hotFun({no .. 2022. 3. 22.