<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          AcgclubACG 聚合類(lèi) App

          聯(lián)合創(chuàng)作 · 2023-09-30 17:45

          宅社 AcgClub 是一款純粹的 ACG 聚合類(lèi) App。作者出于愛(ài)好與學(xué)習(xí)的目的做出了這款 MD 風(fēng)格的應(yīng)用,旨意通過(guò)涵蓋Android 端的一些熱門(mén)技術(shù)框架來(lái)打造一個(gè)面向市場(chǎng)級(jí)別的產(chǎn)品。

              

          通過(guò)本項(xiàng)目,你可以了解到以下技術(shù):

          • Material Design
          • MVP
          • 組件化
          • Kotlin
          • RxJava2
          • Retrofit
          • Dagger2
          • Realm
          • Glide
          • Arouter
          • Jsoup
          • Gradle 配置
          • 熱更新
          • 混淆、多渠道包

          項(xiàng)目相關(guān)

          項(xiàng)目環(huán)境

          • Android Studio 4.1.3
          • Gradle 6.5 
          • kotlin 1.4.21 
          • compileVersion 28

          項(xiàng)目結(jié)構(gòu)

          AcgClub    
              - app                              宿主app
              - common                           基礎(chǔ)庫(kù)
              - common-res                       公用資源
              - component-acgcomic               漫畫(huà)組件
                - src/main
                  - runalone                     組件獨(dú)立運(yùn)行時(shí)生效
              - component-acgnews                資訊組件
              - component-acgpicture             看圖組件
              - component-acgschedule            番劇組件
              - router                           路由配置及相關(guān)服務(wù)實(shí)現(xiàn)
              - third-party-libs                 三方庫(kù)存放
              - base_component.gradle            組件依賴(lài)配置
              - base_component_compiler.gradle   java注解處理配置
              - base_component_kapt.gradle       kotlin注解處理配置
              - config.gradle                    項(xiàng)目信息配置
          

          新增組件

          • 組件名固定前綴為“component-”

          • 組件內(nèi)build.gradle需進(jìn)行如下配置:

           //必備
           apply from:"../base_component.gradle"
           //使用java
           apply from:"../base_component_compiler.gradle"
           //或kotlin
           apply from:"../base_component_kapt.gradle"
           //如果用到數(shù)據(jù)庫(kù)
           apply plugin: 'realm-android'
          • 組件內(nèi)res文件將以組件真名為前綴進(jìn)行約束(例如:component-acgnews,一個(gè)布局文件名則需要以此打頭:acgnews_layout.xml)

          • 組件獨(dú)立運(yùn)行時(shí)還需要注意提供相關(guān)的application,入口activity,AndroidManifest.xml等

          項(xiàng)目配置

          config.gradle 中進(jìn)行項(xiàng)目項(xiàng)目的屬性配置,例如:包名、版本號(hào)、編譯版本...

          其中:

          //在該屬性中填寫(xiě)需要合并到主程序運(yùn)行的組件,沒(méi)有填寫(xiě)的組件將獨(dú)立運(yùn)行
          merge = [
                      "acgnews",
                      "acgschedule"
                      //"acgcomic"
              ]
          

          merge 屬性修改完畢后,需要重新構(gòu)建項(xiàng)目

          其他

          • 項(xiàng)目中提示缺失DaggerXXX時(shí),通過(guò)完成編譯將有Dagger2自動(dòng)生成
          • 在本地的 local.properties 按自己所需進(jìn)行一些三方庫(kù)的key、簽名的配置,不需要的可以自行去掉
          #阿里云用戶反饋
          fbAppKey=""
          fbAppSecret=""
          #友盟
          umengAppKey=""
          #bugly
          buglyAppId=""
          
          #簽名信息
          storeFile=
          storePassword=
          keyAlias=
          keyPassword=
          
          #友盟分享key
          SINA_WEIBO_KEY=""
          SINA_WEIBO_SECRET=""
          QQ_ZONE_ID=""
          QQ_ZONE_KEY=""
          WEIXIN_ID=""
          WEIXIN_KEY=""
          
          • 為了確保 bugly 熱更新能生效,請(qǐng)每次打出正式包的時(shí)候,確認(rèn) app 目錄下 tinker-support.gradle 文件中的 tinkerId 的唯一性
          瀏覽 32
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费黄色A片视频 | 超碰成人在播放 | 抽插视频网站 | 国产无码一区二区 | 狠狠V欧美v日韩V亚洲v |