전체 글62 RxJava 의 핵심 기술 - concat, merge, zip 1. Concat Concatenate : '사슬 같이 잇다' 라는 뜻 A Task와 B Task 가 있다면, A -> B 순으로 작업을 진행한다. val observer1: Observable = Observable.create { emitter -> GlobalScope.launch { delay(1000) Log.i("test_log","obs 1") emitter.onNext("1") emitter.onComplete() } } val observer2: Observable = Observable.create { emitter -> GlobalScope.launch { delay(1000) Log.i("test_log","obs 2") emitter.onNext("2") emitter.onComp.. 2020. 2. 27. Provider 라이브러리 사용 Flutter의 UI 코드는 백엔드 코드작성를 작성하는 dart 파일 안에 같이 코드를 작성할 수 있게 되어 있습니다. (Android Native의 UI 코드는 xml 파일에 , 백엔드 코드는 Java 또는 Kotlin 파일에 작성합니다.) 그래서 기본 프로젝트 코드를 보면 UI, 비지니스 로직 부분이 더욱 강하게 연결되어 있습니다. 그래서! Business Logic을 분리하게 도와주는 라이브러리 중 Provider 라이브러리를 활용하게 되었습니다. (참고로, Bloc 패턴 라이브러리도 존재합니다. Provider 보다 더욱 비지니스 로직을 분리하기에는 좋지만, 학습량이 더욱 많아 대규모 프로젝트에 적합합니다. ) Provider가 무슨 역할을 하나요? => Provider 라이브러리는 Data Cl.. 2020. 2. 23. RxJava 란 https://m.post.naver.com/viewer/postView.nhn?volumeNo=6721006&memberNo=34635212 빨리 써먹는 RxJava와 Android [BY 부스트코스] SUMMARYRxJava 와 Android Reactive Programming 은 최근 2년간 유행어처럼 번져 나간 ... m.post.naver.com 간단하게 RxJava란 무엇일까? => '비동기 처리를 효과적으로 할 수 있게 도와주는 라이브러리' 라고 보면 된다. 내가 RxJava를 사용하게 된 이유는, Retrofit api 통신에서 여러 api 작업이 끝나는 시점을 catch 해야 하는데, 성공 시점에 차례차례로 api 들을 호출해야 하는 안좋은 구조를 개선하기 위해서이다. map() : 데.. 2020. 2. 4. How to draw Rect Overlay View? 카메라 캡쳐 및 QR 코드 인식 영역에서 가운데가 뚫린 형태의 뷰가 많이 사용되고 있습니다. 위와 같이 가운데가 뚫린 Overlay 형태의 뷰를 그리는 방법에 대해서 알아보겠습니다. 원래는 xml 단계에서 처리할 수 있을거라 예상했지만, Round Corner 형태의 사각형을 사용하기 때문에 onDraw 단계에서 직접 그려주는 방법으로 방향을 잡았습니다. 안드로이드 뷰를 그리는 LifeCycle 함수 중, Overlay 커스텀 뷰 제작에서 사용할 것들만 간단히 살펴보겠습니다. 1) onMeasure() 에서 사이즈를 측정하고, 2) layout() 뷰의 위치와 크기를 할당합니다. 그리고 3) dispatchDraw() 에서 그립니다. 레이아웃인 뷰는 onDraw() 를 호출하지 않고, onDispatch.. 2020. 1. 5. ViewPager를 가진 Dialog 구현 주의사항 Dialog 안에 ViewPager를 넣는다. 그리고 ViewPager에 FragmentPagerAdapter를 적용시킬때 다음의 에러가 발생한다. vp_space.adapter = PagerAdapter(supportFragmentManager) // 에러 vp_space.adapter = PagerAdapter(childFragmentManager) // 정상 동작 NestedFragment 들은 FragmentManager를 전달할 때 child의 것으로 전달해야 한다. 이걸 몰라서 반나절을.. 흑 https://developer.android.com/about/versions/android-4.2.html#NestedFragments Android 4.2 APIs | Android Develope.. 2020. 1. 2. Architecture 설계 mvc, mvp, mvvm 등 많은 Architecture 들이 있다. 먼저 왜 이러한 구조 방안이 생기게 되었을까? 1. 좋은 유지보수 2. 깔끔한 코드 분리 (특히 view, model 간의 분리) 3. Testing 가능한가 보통 mvc 패턴에서의 코드 사용 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { fab.setOnClickListener { // 데이터 갱신 요청 코드 // fun getItems(): arrayList() // Model에 접근해서 데이터를 가져옴 // 위의 데이터를 이용해서 View 갱신 } } } Controller는 위의 onClickListen.. 2019. 12. 30. 이전 1 ··· 3 4 5 6 7 8 9 ··· 11 다음