Android元件化實戰三 模組之間的互動

2021-10-07 03:37:06 字數 1881 閱讀 6435

在personal模組要跳轉到order模組的order_mainactivity,類載入技術實現主要邏輯如下:

// 類載入跳轉,可以成功,維護成本較高且容易出現人為失誤

// 需要準確的全類名路徑

trycatch

(classnotfoundexception e)

定義pathbean物件

/**

* 路徑物件(公共基礎庫中,所有子模組都可以呼叫)

* path:"order/order_mainactivity"

* clazz: order_mainactivity.class

*/public

class

pathbean

public string getpath()

public

void

setpath

(string path)

public class getclazz()

public

void

setclazz

(class clazz

)}

將需要跳轉的目標pathbean放在common公共基礎模組的全域性map中,對外提供管理類,主要包含兩個方法,乙個將對應模組的activity路徑資訊分組儲存到全域性map中。另乙個方法就是根據組名和路徑資訊獲取目標類的類物件,實現跳轉。

* 全域性路徑記錄器(根據子模組分組)*/

public

class

recordpathmanager

else}}

}/**

* 根據組名和路徑名獲取類物件,達到跳轉目的

* @param groupname

* @param pathname

* @return

*/public

static class<

?>

gettargetclass

(string groupname, string pathname)

}return null;

}}

public

class

extends

}

public

class

order_mainactivity

extends

baseactivity

public

void

(view view)

intent intent =

newintent

(this

, targetclass)

; intent.

putextra

("name"

,"xpf");

startactivity

(intent);}

// 跳轉至personal模組的personal_mainactivity

public

void

jumppersonal

(view view)

intent intent =

newintent

(this

, targetclass)

; intent.

putextra

("name"

,"xpf");

startactivity

(intent);}

}

大致思路如下圖:

Android元件化模組化在移動應用開發中

在移動應用上由於應用本身與使用者相貼近,日常開發中難免的需求變更朝令夕改 朝三暮四,尤其遇到沒啥規範流程的或者形式主義流程 關於元件化模組化是什麼及其優點不再贅述,在此補充點優點而已 減少名言的聯想 linus read the ing source code 我們的終極目標不僅是解耦。簡化框架,減...

Android元件化方案

1為什麼要專案元件化 2如何元件化 3元件化實施流程 1元件模式和整合模式的轉換 2元件之間androidmanifest合併問題 3全域性context的獲取及元件資料初始化 4library依賴問題 5元件之間呼叫和通訊 6元件之間資源名衝突 4元件化專案的工程型別 2功能元件和common元件...

Android元件化架構

元件化架構需要各個元件不僅能夠單獨執行而且也能無縫的整合到主程式中,在這個過程中會遇到以下問題 todo 在專案的根目錄下的gradle.properties檔案中宣告乙個變數ismodule 該變數能對整個專案中所有的gradle檔案生效 代表是否是元件開發模式。gradle.properties...