MVP+Retrofit+RxJava+Dagger框架
主要來講解一下RxJava和Retrofit的結合 下面我們來看一下RxJava和retrofit的結合使用,為了使Rxjava與retrofit結合,我們需要在Retrofit物件建立的時候新增一句程式碼
addCallAdapterFactory(RxJavaCallAdapterFactory.create())
,當然你還需要在build.gradle檔案中新增如下依賴:
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
完整的程式碼如下:
Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.douban.com/v2/") .addConverterFactory(GsonConverterFactory.create(new GsonBuilder().create())) .addCallAdapterFactory(RxJavaCallAdapterFactory.create())//支援RxJava .build();
然後我們還需要修改RetrofitService 中的程式碼:
public interface RetrofitService { @GET("book/search") Observable<Book> getSearchBook(@Query("q") String name, @Query("tag") String tag, @Query("start") int start, @Query("count") int count);
可以看到,在原來的RetrofitService 中我們把getSearchBook方法返回的型別Call改為了Observable,也就是被觀察者。其他都沒變。然後就是建立RetrofitService 實體類:
RetrofitService service = retrofit.create(RetrofitService.class);
和上面一樣,建立完RetrofitService ,就可以呼叫裡面的方法了:
Observable<Book> observable = service.getSearchBook("Hello", null, 0, 1);
其實這一步,就是建立了一個rxjava中observable,即被觀察者,有了被觀察者,就需要一個觀察者,且訂閱它:
observable.subscribeOn(Schedulers.io())//請求資料的事件發生在io執行緒 .observeOn(AndroidSchedulers.mainThread())//請求完成後在主執行緒更顯UI .subscribe(new Observer<Book>() {//訂閱 @Override public void onCompleted() { //所有事件都完成,可以做些操作。。。 } @Override public void onError(Throwable e) { e.printStackTrace(); //請求過程中發生錯誤 } @Override public void onNext(Book book) {//這裡的book就是我們請求介面返回的實體類 } }
在上面中我們可以看到,事件的消費在Android主執行緒,所以我們還要在build.gradle中新增如下依賴:
compile 'io.reactivex:rxandroid:1.2.0'
這樣我們就引入了RxAndroid,RxAndroid其實就是對RxJava的擴充套件。比如上面這個Android主執行緒在RxJava中就沒有,因此要使用的話就必須得引用RxAndroid。
相關推薦
MVP+Retrofit+RxJava+Dagger框架
MVP和Retrofit還有Dagger的使用和我們平常是差不多的,這裡就不過多的講解了 主要來講解一下RxJava和Retrofit的結合 下面我們來看一下RxJava和retrofit的
Android 教你一步步搭建MVP+Retrofit+RxJava網路請求框架
之前公司的專案用到了MVP+Retrofit+RxJava的框架進行網路請求,所以今天特此寫一篇文章以做總結。相信很多人都聽說過MVP、Retrofit、以及RxJava,有的人已經開始用了,有的人可能還不知道這是什麼,以及到底怎麼用。不過沒關係,接下來我將為你一一揭開他們的神祕面紗,然後利用這三個傢伙搭建
Android ,MVP+retrofit +rxjava+glide recyclerview使用詳解 ,條目點選 長按點選,三種管理器 ,分割線
首先是對應的依賴 implementation 'com.android.support:recyclerview-v7:26.1.0' 下面是對應的介面卡 裡面對應的 有點選的註釋 public class HomeAdaper extends RecyclerV
MVP+Retrofit+dagger2+RxAndroid框架整合
1. MVP模式:主要實在傳統的MVC模式上新增了一層presenter,作為View與Model互動的中間紐帶,處理與使用者互動的負責邏輯。 2. Retrofit:是Square公司開發的一款針對Android網路請求的框架,Retrofit2底層基於OkHttp實
使用MVP+Retrofit+RxJava實現的的Android Demo (上)使用Nuclues庫實現MVP
最近寫了一個 Android 小 Demo,使用基於Nucleus庫的MVP框架進行程式碼分割,並Retrofit和RxJava進行資料請求和處理,下面通過Demo程式碼分享下這幾種技術的使用方法。 需求 從網路Api獲取Json格式的笑話資料,通過列表
簡單實用的mvp+retrofit+rxjava+dagger2
如今android最為流行的網路請求框架莫過於retrofit+rxjava,網上也是誕生了大量mvp+retrofit+rxjava的相關技術文章,但他們的要麼太過於複雜要麼針對性太強,讓很多人用到一半就放棄了,本人也是初學者,參考了很多技術牛人寫的例子,大家一起交流學習
簡單實現斷點續傳+MVP+Retrofit+RxJava
依賴: compile 'com.squareup.retrofit2:retrofit:2.0.1' compile 'com.squareup.retrofit2:converter-gson:2.0.1' compile 'com.s
android中mvp+retrofit+rxjava處理mvp記憶體洩漏整合的demo
程式碼如下:專案結構:至於mvp的原理,v層抽象出介面,供P層呼叫,M層進行資料處理,抽象出介面,供P呼叫,P層中可拿到M和V 的介面引用,進行方法呼叫等邏輯處理,再利用介面回撥的方式將解析好的資料返回給V層,這樣就打到M層不直接和V層打交道,實現解耦和的效果mvp模式會存在
Retrofit+Rxjava+MVP網路請求框架
導言: 之前有套基於MVP的網路請求框架,是okhttp封裝的,後來由於retrofit,rxJava的流行,所以更改一部分來使用 釋義: retrofit:基於okhttp再次封裝的網路請求框架 rxjava:非同步工具庫,handler+thread->asyctask-&
Android Retrofit+Rxjava+MVP三大框架整合
Retrofit的詳解 retrofit是基於okhttp的封裝工具類,功能十分豐富.我能力還是有限,在這裡先說下它的使用吧! 簡單使用 新增Gradle依賴項 compile 'com.squareup.retrofit2:retrofit:2
從0開始搭建rxjava+retrofit+mvp+dagger2整合基礎框架(rxjava+retrofit網路層搭建)
古語有云,沒有規矩,就不成方圓。其實做什麼事都一樣,做什麼事都要有自己熟悉且大家都認同的一套規矩,這樣既能提高自己的做事效率,也方便他人的理解。在移動開發中,mvp是新興的一種軟體開發模式,是經過時間的考驗並且大家都認同的解耦框架。它不僅能讓我們的程式碼邏輯更加清晰,不同層間分工不同又相互協作,服務於我們的專
android MVP + dagger2 + Retrofit + Rxjava+okhttp android基礎專案框架搭建(2)--之MVP引入
上一篇文章中,我們已經成功的引入了Dagger2;今天我們將繼續使用android MVP模式對程式碼進行實現。#1 將MainActivity.java檔案移動到ui包下,並在ui包下建立view包; view包下存放介面。包及類結構如圖 2 新建presenter包,
Mvp Retrofit Okhttp Rxjava
extend fin 添加 okhttp3 bind item .get 關聯 osi MainActivity package com.bwie.shexinhai; import android.os.Bundle; import android.support
Android MVP開發模式及Retrofit + RxJava封裝
程式碼已上傳到Github,因為介面都是模擬無法進行測試,明白大概的邏輯就行了! 歡迎瀏覽我的部落格——https://pushy.site 1. MVP模式 1.1 介紹 如果熟悉MVP模式架構的話,對下圖各元件的呼叫關係應該不陌生: 和其他傳統模式相比,MVP有以下的幾個特點:
微閱是一款使用 MVP + Retrofit2 + Rxjava + dagger2 等框架開發的閱讀軟體。包括新聞、視訊、煎蛋三個模組,專案的大部分功能已經完成
WeiYue 專案地址:Will-Ls/WeiYue 簡介:微閱是一款使用 MVP + Retrofit2 + Rxjava + dagger2 等框架開發的閱讀軟體。包括新聞、視訊、煎蛋三個模組,專案的大部分功能已經完成 更多:作者 提 B
dagger2,Retrofit,Rxjava,mvp最佳實踐
原料: dagger2Version = "2.5" rxjava2Version = "2.0.1" okhttp3Version = "3.6.0" gsonVersion = "2.8.0" 配置: // compile("com.squareup.retrof
框架】之Retrofit+RxJava的使用
前幾天分別對Retrofit和RxJava進行了總結,這個帖子打算把Retrofit結合RxJava使用的方法總結以下。有還不瞭解Retrofit或RxJava的朋友可以參考下面的帖子學習~ 首先匯入依賴: dependencies { compile fi
仿京東app,採用元件化開發 ARouter + mvp + dagger2 + rxjava + retrofit + fresco 架構
# JD-Test 仿京東app 採用元件化架構 螢幕適配方案可以較好解決多解析度及同分辨率不同dpi適配;### 宣告 : 本專案資源採用抓包獲取,僅供學習交流使用 。 話說一切沒有gif圖的專案都是耍流氓,上圖: 本專案為仿京東專案,資源為抓包獲取,專案框架採用路由框
最新Retrofit + RxJava + MVP
此處搭建的框架是目前最新版本,專案今天剛搭建好,(^__^) 嘻嘻……。 先擼上包: compile ‘com.jakewharton:butterknife:8.6.0’ compile ‘com.jakewharton:butterknife-
Retrofit+RxJava+MVP+網路請求多次判斷
//依賴 compile 'io.reactivex.rxjava2:rxjava:2.1.1' compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'com.squareup.retrofit2: