Android 8.0 6

Android 8.0과 Reactive Extensions을 이용한 응용프로그램 개발 - 6

데이터 업데이트 처리 일반적으로 RecyclerView을 사용한 화면 데이터 갱신 처리는 "초기 화면했을 때 업데이트" "화면 상단에서 당겨 업데이트"와 "아래로 스크롤하면 다음 페이지를로드 '의 3 가지가 있습니다 . 앞의 2 개는 특히 망설임없이 Fragment # onResume ()과 SwipeRefreshLayout # setOnRefreshListener ()에서 데이터로드 처리를 호출하면 좋을 것입니다. 세 번째 아래로 스크롤하면 다음 페이지를로드 처리에 대해서는 RxJava + RxBinding (recyclerview-v7) 라이브러리를 이용하면 안전하고 간단하게 구현할 수 있습니다. 다음 코드에서 볼 수 있듯이 데이터로드 중에 화면 하단 도달 이벤트를 발생시키지 않는 이벤트를 중복 발생..

IT 이모저모 2018.03.15

Android 8.0과 Reactive Extensions을 이용한 응용프로그램 개발 - 5

사용자 목록 검색하고 표시하기 사용자 목록을 갱신하는 API 호출 처리의 구현은 RecyclerView 어댑터 및 RecyclerViewHolder를 정의하고, API 호출이 완료 될 때 어댑터에 데이터를 설정하는 식으로 진행됩니다. API 호출 전항에서 준비한 randomuser.me의 API 접근에서 사용자 목록을 가져옵니다. API 호출의 응답은 io.reactivex.Observable이므로 Reactive Extensions의 작법에 따라 응답의 핸들링을 구현할 수 있습니다. 주목할만한 점은 통신 완료시 알림 개체 (mDataLoadedNotification)에 대한 통지 만하고 View 갱신 처리 등을 기술하지 않기 때문에 간결하게 쓸 수 있다는 점입니다. 여기서 말하는 통지 객체는 RxJav..

IT 이모저모 2018.03.15

Android 8.0과 Reactive Extensions을 이용한 응용프로그램 개발 - 4

통신 처리 구현 통신은 아래 그림과 같이 okhttp, Retrofit, google-gson, Rx Java를 연계해서 활용합니다. build.gradle은 아래와 같이 설정합니다. adapter-rxjava2는 Retrofit2 응답을 RxJava2와 연동하기 위한 라이브러리입니다. logging-interoeptor는 okhttp통신 로그를 출력하기위한 라이브러리입니다. dependencies { compile 'com.squareup.retrofit2 : retrofit : 2.3.0' compile 'com.squareup.retrofit2 : converter-gson : 2.3.0' compile 'com.squareup.retrofit2 : adapter-rxjava2 : 2.3.0' co..

IT 이모저모 2018.03.14

Android 8.0과 Reactive Extensions을 이용한 응용프로그램 개발 - 3

View 바인딩 사용자의 입력 정보를 수신하거나 정보를 표시하기 위해서는 View에서 데이터를 받거나 전달 할 필요가 있습니다. 이를 하기 위해서는 크게 두가지 방법이 있습니다. - View 바인딩 : Activity와 Fragment가 View의 참조를 가지고 있어 View를 직접 갱신 할 수 있도록 합니다. - Data 바인딩 : 최근 javascript 많이 채용하는 기법으로 View에 데이터를 바인딩하고 Activity와 Fragment에서 데이터를 업데이트하는 등 두 역활을 분리해 줍니다. 이번에는 View 바인딩 기법을 사용 합니다. 먼저 해야할 일은 View에 고유한 id를 지정해 줍니다. View 바인딩 또는 Data 바인딩인가 안드로이드가 제공하는 Data Binding 라이브러리를 사용..

IT 이모저모 2018.03.14

Android 8.0과 Reactive Extensions을 이용한 응용프로그램 개발 - 2

Java / Android에는 개발에 도움을 주는 편리한 라이브러리들이 많이 있습니다. 본 앱은 개발의 편의를 위해 아래의 라이브러리를 사용합니다. - lombok - Timber - Lightweight-Stream-API - Rx Java2 - Rx Android 이글을 쓴 시점에서 build.gradle 설정은 아래와 같습니다. dependencies { compileOnly 'org.projectlombok : lombok : 1.16.18' annotationProcessor 'org.projectlombok : lombok : 1.16.18' compile 'com.jakewharton.timber : timber : 4.5.1' compile 'com.annimon : stream : 1.1..

IT 이모저모 2018.03.13

Android 8.0과 Reactive Extensions을 이용한 응용프로그램 개발 - 1

요즘 리 Reactive 프로그래밍이 주목 받고 있습니다. GUI의 상호 작용과 시간 경과에 따라 변화하는 애니메이션 등에 적합한 패러다임 인 것으로 알려져 있으며, 안드로이드 애플리케이션 개발에도 도입하는 것이 가능합니다. 이번에는 Ractive Extensions(RxJava2)를 사용하여 안드로이드 채팅 어플리케이션 개발 방법에 대해 알아 보겠습니다. 안드로이스 스튜디오 3.0버전을 사용해서 개발을 진행하겠습니다.먼저 안드로이스 스튜디오를 실행 시켜 File 메뉴에서 New - New Project 를 선택하고, 필요 사항을 입력합니다. 프로젝트를 만든 후 생성 된 프로젝트 build.gradle을 확인 합니다. Android Plugin의 버전이 3.0.1 로 되어있는것을 확인할 수 있습니다. 기..

IT 이모저모 2018.03.13