有關android 應用的plugin框架調研

2021-09-06 16:14:38 字數 956 閱讀 6550

1. 借助android提供的shareduserid屬性使多個不同的apt共用乙個userid,以掃除許可權壁壘,獲取外掛程式context,繼而獲取view並載入外掛程式。這樣的方式是建立在已經安裝完畢的apt基礎上的。

樣例和參考:

1) 工作原理介紹:

2) xcombine

工作原理介紹:

2. 不安裝外掛程式,外掛程式以.dex或.apt方式儲存在手機的某個可被外掛程式框架應用訪問的空間,然後框架使用dexclassloader載入外掛程式類,然後通過createpackagecontext方法為外掛程式建立context,之後使用該context獲取外掛程式的資源,比方view, 然後將資源等在主框架中呈現

工作原理介紹:

樣例程式:

3. 不安裝外掛程式,外掛程式以apt方式儲存在手機上。外掛程式框架使用dexclassloader載入外掛程式類。與另外一種方法不同之處在於,方法二載入外掛程式以獲取資源,而本方法確是在獲得activity例項後,將框架的context植入外掛程式,並強制外掛程式在植入的context上執行。

4. 使用osgi 框架

osgi作為乙個成熟的面向模組化的框架標準被很多諸如eclipse等大型軟體採納以提供外掛程式服務。當中osgi的主流實現框架,比方felix(apache felix framework and google android

)及子專案ipojo(ipojo on android

),還有knopflerfish都已提供了對android平台的支援。

實現樣例:安織雲apkplug (不開源)

5. 其它參考:

2)  使用android的intent, broadcast service及ipc機制

plugins with user inte***ce

intent + service + content provider = plugin architecture

有關Android中EditText的一些屬性

edittext始終不彈出軟體鍵盤 1.edittext預設不彈出軟體鍵盤 方法一 在 androidmainfest.xml中選擇哪個activity,設定windowsoftinputmode屬性為 adjustunspecified statehidden 例如 android windows...

Android有關Activity的傳值,回傳

傳值主要是通過intent,intent分為顯示跳轉和隱式跳轉 主要方法如下 當前頁面跳轉指定頁面 intent intent new intent this,main 1 activity.class putextra 新增引數 intent.putextra one 111 startactiv...

android有關paint屬性設定

paint即畫筆,在繪圖過程中起到了極其重要的作用,畫筆主要儲存了顏色,樣式等繪製資訊,指定了如何繪製文字和圖形,畫筆物件有很多設定方法,大體上可以分為兩類,一類與圖形繪製相關,一類與文字繪製相關。1.圖形繪製 setargb int a,int r,int g,int b 設定繪製的顏色,a代表透...