DI 란 무엇인가?한줄로 요약하면 외부에서 의존 객체를 생성하여 넘겨주는 것으로 의존성 주입을 말합니다. IoC 컨테이너에서 객체를 생성한 후 생성된 객체를 다른 객체에 주입합니다. IoC 컨테이너에서 생성된 객체들을 한번에 관리 할 수 있는 장점이 있습니다.프로그래머 사이에 DI의 중요성이 강조되고 있습니다. 그러면서 도입되고 Dagger는 필수 라이브러리로 주목받고 있습니다. DI 개념부터 Dagger 사용법 까지 간단히 공유하겠습니다.DI와 IoCDagger 는 DI을 도와주는 프레임워크 입니다. 그렇다면 DI 무엇일까요? DI는 Dependency Injection(의존성 주입)의 준말입니다. DI(의존성 주입)은 프로그래밍에서 구성요소간의 의존 관계가 소스코드 내부가 아닌 외부의 설정파일 등을 ..
싱글톤(Singleton)이란 무엇일까? 간단히 말해 1개의 Class에 1개의 Instance를 말합니다.다르게 표현하면 Instance가 사용될 때 똑같은 Instance을 만드는 것이 아니라, 동일 Instance 을 사용하도록 합니다. 기본적으로 사용하는 Singleton은 다음과 같습니다. 12345678public final class Singleton(){ private static final Singleton instance = new Singleton(); private Singleton(){} public static Singleton getInstance() { return instance; }} Lazy initialization인스턴트가 사용하는 시점에 인스턴스 생성하는 방식도 있..
Effective Java 에서 익숙하게 발견하는 단어가 있습니다. 직렬화(Serializable) 이 직렬화는 과연 무엇일까요? 직렬화 자바에서 객체 안에 저장되어 있는 내용을 파일로 저장하거나 네트워크를 통하여 다른 곳으로 전송하려면 객체를 바이트 형태로 일일이 분해해야 합니다. 이러한 분해하는 과정. 즉, 바이트 단위로 바꿔주는 형태를 직렬화 라고 합니다. 자바는 Serializable 인터페이스를 구현한 클래스만 직렬화할 수 있도록 제한하고 있습니다. private 필드를 포함한 모든 필드를 바이트로 변환해도 좋다는 표시 역활을 합니다. public class XXX implements Serializable{ } 무엇이든 예외가 있듯이 직렬화에도 예외가 있습니다. transient 가 붙은 경우..
실질적으로 RxJava을 사용하는 코드를 공유 하겠습니다. 먼저 소스를 보시면 SampleRepositoryActivity 로 코틀린으로 표현한 소스 입니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455class SampleRepositoryActivity : AppCompatActivity(){ ... // 여러 디스포저블 객체를 관리할 수 있는 CompositeDisposable 객체를 초기화 합니다. interanl val disposables = CompositeDisposable() ... override fun onStop(){ super.onStop() /..
RxJava, RxSwift, RxAndroid 등 Rx라는 단어를 많이 들어봤을 것입니다. Rx는 무엇일까요? Rx은 무엇인가? 'Reactive Extensions'이며 'ReactiveX'라고도 불립니다. 이벤트를 이벤트 스트림에 전달하고, 이벤트 스트림을 관찰하다가 원하는 이벤트를 감지하면 이에 따른 동작을 수행합니다. 비동기 라이브러리로 반응하는 프로그램이라고하여 Reactive Programming으로 부릅니다. RxJava 버전 1.x 버전 2017년 6월 1일 기준으로 새로운 기능 추가 없이 버그만 수정되고 있습니다. June 1, 2017 - feature freeze (no new operators), only bugfixes 2.x 버전 1.x 버전의 설계상 문제를 개선한 버전으로 지..
안드로이드 앱 개발하다보면 Full Screen을 요구하는 경우가 많습니다. 보통은 ActionBar을 숨기는 정도만 하는데, 게임이나 컨트롤러 같은 앱을 개발하다보면 StatusBar와 SoftKey을 숨기는 경우가 발생합니다. SoftKey가 화면에 표시되기 시작한 것은 디바이스 액정크기를 늘리면서 그 안에 소프트키를 넣는 방식으로 전환되었습니다. 따라서 실제 앱을 조작하다보면 실수로 누르는 경우가 발생합니다. KitKat(android 4.4) 버전 이후부터는 코드 몇 줄로 해결할 수 있습니다. 12345678910111213141516171819202122public class MainActivity extends Activity { private View decorView; private int..
- 고시문
- 알고리즘
- DI
- MCC
- 탁구
- 임용고시
- Android
- IT
- 고시문헬퍼
- flutter
- push
- 코틀린
- 스코어헬퍼
- 디자인패턴
- 점수판
- IOS
- 패턴
- java
- Kotlin
- issue
- missionchina
- swift
- 선교
- Android Studio
- 안드로이드
- RXjava
- view
- missioon
- 미션차이나센터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |