Activity基類詳解(1) — 前言

前言

距離上次Activity基類的感想已經過去了大半年了,大家感興趣的話,可參看我當時對於Activity基類整合出現的一個疑問,進而解決的記錄,文章地址如下:
基類(BaseActivity)設計開發談
今天就讓我們重拾Activity,來一次暢談吧。

今天涉及以下內容

  1. 爲啥又提及Activity基類
  2. Activity牽涉到哪些東西

一. 爲啥又提及Activity基類

一個久遠的問題,一個已經被大家使爛的玩意——Activity基類。爲啥現在又提及這個問題,是作者腦袋灌水了嗎?
不,對於爲啥現在又開始提及這個問題。是因爲我本人在使用自己的Android基礎庫的時候,發現了一些問題。我的Android基礎庫第一次發佈是2019年,距今已有兩年多了,到目前爲止發佈了一百多個版本,提交次數達到500多次。我構建Android基礎庫的初衷是幫助快速實現Android開發,當然了,此庫頁協助我解決了不少問題,不同程度的加快了我項目開發的進度,但是,瑕疵依然有,需要更迭優化的空間還很大。其中對於Actiivty集成的模塊,使用十分頻繁。使用次數多了,發現問題很大,已經有些違揹我當時建庫的初衷。使用不是很便利,這種不便利主要體現在:

  • 文檔說明雜亂無章,不便理解
  • 要使用Activity基類的時候要斟酌選擇

這種不便利不是體現在使用中,而是使用前。在使用之前我要知道這個Activity基類是怎麼用的,還要根據不同場景,不同特性來選擇相應的Activity基類。於是成本產生了。理解是需要花時間的,這就是成本。
當然,這問題的產生,原因就在於我對Activity基類的整合不夠到位,由於當時封裝過程比較繁瑣,以及考慮不夠全面,出現了幾個問題導致使用不便,一個是說明文檔東一個,西一個,比較分散,我使用起來都比較喫力,其他開發者使用的話,估計更鬱悶。再就是Activity基類涉及到了幾個類,爲的是處理不同場景,這對於一個app中只用一個activity基類的設計理念上,已經增加了不少成本,甚至失去了基類該有的樣子。

二. Activity牽涉到哪些東西

那麼,Activity基類到底涉及到哪些東西呢?是什麼導致我的Activity基類不那麼清新
這裏,我不得不梳理下我的工具包了。
目前,我的Activity基類涉及到幾個應用場景:

  • 用於一般的Activity(不涉及fragment,不涉及網絡通訊)
  • 便於實現網絡通訊Activity
  • 便於加載fragmentActivity
  • 便於加載有fragmentActivity進行網絡通訊

這裏需要解釋的是,爲了便於實現網絡通訊,此Activity基類需要能快速加載mvp模式,由於涉及到加載fragment的問題,則此Activity基類還要具備能快速實現Activityfagment進行數據交互的問題。
這就是爲啥我的Activity基類整合不夠滿意的原因,雖然這些功能,目前Activity基類們都具備,但是還是比較繁瑣,而且是基類們實現的,而不是基類實現的。
那麼在接下來的日子,我將對我的Activity基類架構做一個簡單的介紹,並開始來優化他們。

ok, 今天就講到這裏了,謝謝大家。

下篇 Activity基類詳解(2) — 架構概述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章