Android項目架構(gòu)搭建

引入依賴庫
1 2 3 4 5 6
retrofit okhttp okio RxJava RxAndroid
參考文檔
  1. Linux命令大全
  2. Android Gradle Plugin 3.0 implementation、api、compile區(qū)別
  3. 給 Android 開發(fā)者的 RxJava 詳解
  4. RxJava + Retrofit完成網(wǎng)絡(luò)請求
一、創(chuàng)建項目
  1. 新建SilenceCoder項目,創(chuàng)建時勾選添加Kotlin支持,以便后續(xù)擴(kuò)展。
  2. 創(chuàng)建BaseFeature Library便于以后結(jié)構(gòu)改造成Instant App。
二、配置權(quán)限
  1. 網(wǎng)絡(luò)權(quán)限

       <uses-permission android:name="android.permission.INTERNET"/>
    
三、 在BaseFeature中引入Retrofit 2.x 網(wǎng)絡(luò)庫
  1. 添加依賴

     implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    
  2. Retrofit 混淆配置。
    依賴關(guān)系:Retrofit ---->okhttp---->okio。所以相應(yīng)的混淆都應(yīng)該添加

     # Platform calls Class.forName on types which do not exist on Android to determine platform.
     -dontnote retrofit2.Platform
     # Platform used when running on Java 8 VMs. Will not be used at runtime.
     -dontwarn retrofit2.Platform$Java8
     # Retain generic type information for use by reflection by converters and adapters.
     -keepattributes Signature
     # Retain declared checked exceptions for use by a Proxy instance.
     -keepattributes Exceptions
    
  3. okhttp 混淆配置

     -dontwarn okhttp3.**
     -dontwarn okio.**
     -dontwarn javax.annotation.**
     -dontwarn org.conscrypt.**
     # A resource is loaded with a relative path so the package of this class must be preserved.
     -keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
    
  4. Okio混淆配置

     -dontwarn okio.**
    
四、在BaseFeature中引入Retrofit Gson Converter,參考retrofit中Converters章節(jié),支持如下Converters:
  • Gson: com.squareup.retrofit2:converter-gson
  • Jackson: com.squareup.retrofit2:converter-jackson
  • Moshi: com.squareup.retrofit2:converter-moshi
  • Protobuf: com.squareup.retrofit2:converter-protobuf
  • Wire: com.squareup.retrofit2:converter-wire
  • Simple XML: com.squareup.retrofit2:converter-simplexml
  • Scalars (primitives, boxed, and String): com.squareup.retrofit2:converter-scalars
五、在BaseFeature中引入RxJava 2.x.y庫
  1. 添加依賴

    implementation "io.reactivex.rxjava2:rxjava:2.x.y"
    
六、在BaseFeature中引入RxAndroid庫
  1. 添加依賴

     implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,214評論 25 708
  • 前言 如果看Retrofit的源碼會發(fā)現(xiàn)其實質(zhì)上就是對okHttp的封裝,使用面向接口的方式進(jìn)行網(wǎng)絡(luò)請求,利用動態(tài)...
    李某人吖閱讀 2,248評論 0 0
  • 相信很多人都在使用Retrofit,我也在用,但是對它的理解都不是太深刻,現(xiàn)在Retrofit2已經(jīng)出來一段時間,...
    WHOKNOWME閱讀 7,665評論 6 19
  • 惠Sunny閱讀 428評論 0 2
  • “我是一個平凡的人,我不是一個平凡的人”內(nèi)心中時常會這樣自問。 可所有的一切都源于你最初的選擇,“不忘初心,方得始...
    愛遞遺主閱讀 338評論 0 1

友情鏈接更多精彩內(nèi)容