① android模塊化頁面跳轉Scheme
Android模塊化頁面跳轉Scheme
Github
通過註解實現Uri頁面跳轉
支持參數自動解析
使用場景:
1、應用內服務端下發uri進行頁面跳轉
2、通知欄點擊,攜帶uri進行頁面跳轉
3、其他應用通過uri調起進行頁面跳轉
註:activity的註解格式:group/path
group為各個模塊的唯一字元串,不同模塊不可重復
接入:
使用姿勢:
根build.gradle
mole依賴:
使用姿勢:
場景1:應用內服務端下發uri進行頁面跳轉
1、在需要支持uri跳轉的Activity增加註解@SchemePath("{隨意填,唯一字元串}")
2、跳轉事件
註:參數支持
uri支持參數,如" scheme://MoleA/Activity?data=1&time=20200714&hasData=true "
Activity的參數增加@SchemeExtra註解,如
場景2:通知欄點擊,攜帶uri進行頁面跳轉
1、應用首頁Activity增加註解@SchemePath("{隨意填}")
2、application調用初始化
3、啟動頁,通知欄點擊入口
場景三:其他應用通過uri調起進行頁面跳轉
1、注冊中轉activity
② 開發android app用什麼工具
android系統APP的開發工具主要有兩種:一種是myeclipse,它是基於企業級工作平台,不過這個是收費的;還有一款免費的開源開發工具是eclipe,eclipe是基於java平台。一、在結構上,MyEclipse的特徵可以被分為7類:1.JavaEE模型2.WEB開發工具3.EJB開發工具4.應用程序伺服器的連接器5.JavaEE項目部署服務6.資料庫服務7.MyEclipse整合幫助二、eclipse特點Eclipse是一個開放源代碼的、基於Java的可擴發平台。就其本身而言,它只是一個框架和一組服務,用於通過插件組件構建開發環境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發工具(JavaDevelopmentKit,JDK)。對於以上每一種功能上的類別,簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的JavaEE集成開發環境,支持代碼編寫、配置、測試以及除錯,MyEclipse5.5以前版本需先安裝Eclipse。MyEclipse5.5以後版本安裝時不需安裝Eclipse。廣州APP開發公司別樣網路分析他們主要的區別是:Myeclipse的核心就是eclipse,只不過Myeclipse在此基礎上增加了許多的插件,使用起來更加的方便。但是Myeclipse消耗的資源很多,在使用的時候一定要做好優化工作。在Eclipse中都有相應的功能部件,並通過一系列的插件來實現它們。MyEclipse結構上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。
③ Android模塊化之MicroMole(微信Pins工程)
相信你看過微信關於模塊化的分享 《微信Android模塊化架構重構實踐》 ,也注意到裡面提到的pins工程結構。
作者是這樣描述的 ------「pins工程能在mole之畢模簡內再次構建完整的多子工程結構,通過project.properties來指定編譯依賴關系。通過依賴關系碼正在編譯時找到所有的資源和源碼路徑。」
仔細推敲這句話的意思,應該能知道它實現的基本原理------通過設置sourceSets指定手褲多個java、res等路徑.
有關sourceSets的介紹:
https://developer.android.com/studio/build/index.html#sourcesets
https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.api.AndroidSourceSet.html
但是,有一個問題需要要知道的是,一個mole只能指定一個AndroidManifest文件,pins工程中包含了多個AndroidManifest,它是怎麼做到的?
研究過 com.android.tools.build:gradle ,會留意到它使用到一個子庫 com.android.tools.build:manifest-merger ,官方通過這個庫來合並多個AndroidManifest文件,或許pins工程也是用了這方式。
接下來,再它的基礎上,我做的一些改動,取了另一個名字叫 MicroMole ,先來看一下工程結構:
與pins工程的結構大致不變,增加了 androidTest 和 test ,以及將 project.properties 替換為 build.gradle 。
基本原理是不變的,與微信pins工程一樣配置 sourceSets 。AndroidManifest合並用了 com.android.tools.build:manifest-merger 。
在根項目的build.gradle中添加插件依賴:
在模塊的build.gradle中引用插件並配置 MicroMole:
MicroMole中的build.gradle:
為了使用上的更加方便,專門寫了Android Studio的插件,能快速的創建一個MicroMoudle.
插件安裝步驟 :
插件詳解 :
https://plugins.jetbrains.com/plugin/10785-micromole
插件項目地址 :
https://github.com/EastWoodYang/micro-mole-idea-plugin
MicroMole已經上傳至Github,歡迎star交流。
https://github.com/EastWoodYang/MicroMole