欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

android模塊,android模塊間通信

Android模塊化頁面跳轉(zhuǎn)Scheme

Android模塊化頁面跳轉(zhuǎn)Scheme

公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出平鄉(xiāng)免費做網(wǎng)站回饋大家。

Github

通過注解實現(xiàn)Uri頁面跳轉(zhuǎn)

支持參數(shù)自動解析

使用場景:

1、應(yīng)用內(nèi)服務(wù)端下發(fā)uri進(jìn)行頁面跳轉(zhuǎn)

2、通知欄點擊,攜帶uri進(jìn)行頁面跳轉(zhuǎn)

3、其他應(yīng)用通過uri調(diào)起進(jìn)行頁面跳轉(zhuǎn)

注:activity的注解格式:group/path

group為各個模塊的唯一字符串,不同模塊不可重復(fù)

接入:

使用姿勢:

根build.gradle

module依賴:

使用姿勢:

場景1:應(yīng)用內(nèi)服務(wù)端下發(fā)uri進(jìn)行頁面跳轉(zhuǎn)

1、在需要支持uri跳轉(zhuǎn)的Activity增加注解@SchemePath("{隨意填,唯一字符串}")

2、跳轉(zhuǎn)事件

注:參數(shù)支持

uri支持參數(shù),如" scheme://ModuleA/Activity?data=1time=20200714hasData=true "

Activity的參數(shù)增加@SchemeExtra注解,如

場景2:通知欄點擊,攜帶uri進(jìn)行頁面跳轉(zhuǎn)

1、應(yīng)用首頁Activity增加注解@SchemePath("{隨意填}")

2、application調(diào)用初始化

3、啟動頁,通知欄點擊入口

場景三:其他應(yīng)用通過uri調(diào)起進(jìn)行頁面跳轉(zhuǎn)

1、注冊中轉(zhuǎn)activity

Android 模塊之旅:ARoutrer框架使用教程

隨著公司項目越來越大,人員增多,項目會出現(xiàn)難維護(hù)、新人入職后,需要花費很多時間去熟悉項目。最重要的是,每次編譯時間真的太久了!!!為了解決這個問題,項目重構(gòu)、模塊化需要提上日程。項目拆分成模塊之后,頁面的跳轉(zhuǎn)就不能直接startActivity 調(diào)用具體的activity了,因為這個Activity已經(jīng)在另外一個模塊中,直接用顯示引用是提示不出來的,這時需要通過借助路由庫來實現(xiàn)頁面的跳轉(zhuǎn),當(dāng)然通過反射的方式也是可以跳轉(zhuǎn)到對應(yīng)頁面的。通過這樣的路由跳轉(zhuǎn),而不是顯示引用,就達(dá)到了模塊之間解耦的目的,在不需要的時候,可以不需要引入這個模塊編譯,提高開發(fā)速度,發(fā)布的時候又能很方便的集成進(jìn)來,功能不受影響,這就實現(xiàn)了模塊化的第一步。路由框架推薦使用阿里開源的ARouter路由框架,畢竟是大廠開源的框架,穩(wěn)定性、可靠性也相對較高。

路由路徑,我們可以封裝一個 RouterManger 工具類放在 moudle_base 模塊中,統(tǒng)一管理整個項目的 Path 及路由框架的初始化操作, 示例如下:

我們經(jīng)常需要在目標(biāo)頁面中配置一些屬性,比方說"是否需要登陸"之類的

可以通過 Route 注解中的 extras 屬性進(jìn)行擴(kuò)展,這個屬性是一個 int值,換句話說,單個int有4字節(jié),也就是32位,可以配置32個開關(guān)

剩下的可以自行發(fā)揮,通過字節(jié)操作可以標(biāo)識32個開關(guān),通過開關(guān)標(biāo)記目標(biāo)頁面的一些屬性,在攔截器中可以拿到這個標(biāo)記進(jìn)行業(yè)務(wù)邏輯判斷

ARouter更加詳細(xì)的使用教程可以前往官方GitHub查閱,上述為個人使用過程中覺得需要記錄下來東西,不足之處,敬請見諒

Android核心模塊結(jié)構(gòu)層次有哪些呢

Android作為一個移動設(shè)備的平臺,其軟件層次結(jié)構(gòu)包括了一個操作系統(tǒng)(OS),中間件(MiddleWare)和應(yīng)用程序(Application)。

根據(jù)Android的軟件框圖,其Android核心模塊結(jié)構(gòu)自下而上分為以下幾個層次:

第一、操作系統(tǒng)層(OS)

第二、各種庫(Libraries)和Android 運行環(huán)境(RunTime)

第三、應(yīng)用程序框架(Application Framework)

第四、應(yīng)用程序(Application)

Android模塊化之MicroModule(微信Pins工程)

相信你看過微信關(guān)于模塊化的分享 《微信Android模塊化架構(gòu)重構(gòu)實踐》 ,也注意到里面提到的pins工程結(jié)構(gòu)。

作者是這樣描述的 ------“pins工程能在module之內(nèi)再次構(gòu)建完整的多子工程結(jié)構(gòu),通過project.properties來指定編譯依賴關(guān)系。通過依賴關(guān)系在編譯時找到所有的資源和源碼路徑。”

仔細(xì)推敲這句話的意思,應(yīng)該能知道它實現(xiàn)的基本原理------通過設(shè)置sourceSets指定多個java、res等路徑.

有關(guān)sourceSets的介紹:

但是,有一個問題需要要知道的是,一個module只能指定一個AndroidManifest文件,pins工程中包含了多個AndroidManifest,它是怎么做到的?

研究過 com.android.tools.build:gradle ,會留意到它使用到一個子庫 com.android.tools.build:manifest-merger ,官方通過這個庫來合并多個AndroidManifest文件,或許pins工程也是用了這方式。

接下來,再它的基礎(chǔ)上,我做的一些改動,取了另一個名字叫 MicroModule ,先來看一下工程結(jié)構(gòu):

與pins工程的結(jié)構(gòu)大致不變,增加了 androidTest 和 test ,以及將 project.properties 替換為 build.gradle 。

基本原理是不變的,與微信pins工程一樣配置 sourceSets 。AndroidManifest合并用了 com.android.tools.build:manifest-merger 。

在根項目的build.gradle中添加插件依賴:

在模塊的build.gradle中引用插件并配置 MicroModule:

MicroModule中的build.gradle:

為了使用上的更加方便,專門寫了Android Studio的插件,能快速的創(chuàng)建一個MicroMoudle.

插件安裝步驟 :

插件詳解 :

插件項目地址 :

MicroModule已經(jīng)上傳至Github,歡迎star交流。

新聞名稱:android模塊,android模塊間通信
文章網(wǎng)址:http://chinadenli.net/article34/dsgpipe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計網(wǎng)站排名響應(yīng)式網(wǎng)站靜態(tài)網(wǎng)站網(wǎng)站制作標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營