前言
距離上次Activity
基類的感想已經過去了大半年了,大家感興趣的話,可參看我當時對於Activity
基類整合出現的一個疑問,進而解決的記錄,文章地址如下:
基類(BaseActivity)設計開發談
今天就讓我們重拾Activity
,來一次暢談吧。
今天涉及以下內容
- 爲啥又提及Activity基類
- Activity牽涉到哪些東西
一. 爲啥又提及Activity基類
一個久遠的問題,一個已經被大家使爛的玩意——Activity基類
。爲啥現在又提及這個問題,是作者腦袋灌水了嗎?
不,對於爲啥現在又開始提及這個問題。是因爲我本人在使用自己的Android基礎庫
的時候,發現了一些問題。我的Android基礎庫
第一次發佈是2019
年,距今已有兩年多了,到目前爲止發佈了一百多個版本,提交次數達到500多次。我構建Android基礎庫
的初衷是幫助快速實現Android
開發,當然了,此庫頁協助我解決了不少問題,不同程度的加快了我項目開發的進度,但是,瑕疵依然有,需要更迭優化的空間還很大。其中對於Actiivty
集成的模塊,使用十分頻繁。使用次數多了,發現問題很大,已經有些違揹我當時建庫的初衷。使用不是很便利,這種不便利主要體現在:
- 文檔說明雜亂無章,不便理解
- 要使用
Activity基類
的時候要斟酌選擇
這種不便利不是體現在使用中,而是使用前。在使用之前我要知道這個Activity基類
是怎麼用的,還要根據不同場景,不同特性來選擇相應的Activity基類
。於是成本產生了。理解是需要花時間的,這就是成本。
當然,這問題的產生,原因就在於我對Activity基類
的整合不夠到位,由於當時封裝過程比較繁瑣,以及考慮不夠全面,出現了幾個問題導致使用不便,一個是說明文檔東一個,西一個,比較分散,我使用起來都比較喫力,其他開發者使用的話,估計更鬱悶。再就是Activity基類
涉及到了幾個類,爲的是處理不同場景,這對於一個app中只用一個activity基類
的設計理念上,已經增加了不少成本,甚至失去了基類
該有的樣子。
二. Activity牽涉到哪些東西
那麼,Activity基類
到底涉及到哪些東西呢?是什麼導致我的Activity基類
不那麼清新
?
這裏,我不得不梳理下我的工具包了。
目前,我的Activity基類
涉及到幾個應用場景:
- 用於一般的
Activity
(不涉及fragment
,不涉及網絡通訊
) - 便於實現
網絡通訊
的Activity
- 便於加載
fragment
的Activity
- 便於加載有
fragment
的Activity
進行網絡通訊
這裏需要解釋的是,爲了便於實現網絡通訊
,此Activity基類
需要能快速加載mvp
模式,由於涉及到加載fragment
的問題,則此Activity基類
還要具備能快速實現Activity
與fagment
進行數據交互的問題。
這就是爲啥我的Activity基類
整合不夠滿意的原因,雖然這些功能,目前Activity基類
們都具備,但是還是比較繁瑣,而且是基類們
實現的,而不是基類
實現的。
那麼在接下來的日子,我將對我的Activity基類
架構做一個簡單的介紹,並開始來優化他們。
ok, 今天就講到這裏了,謝謝大家。