Android 開發中的一些痛點解決方案

痛點

我們團隊在整個開發過程中, 會有幾個很噁心的痛點, 代碼不能不寫, 但是寫了有噁心. 所以在組件化過程中, 發現這些是可以被解決的的.
於是 Component 從最早的設計上就考慮了一些痛點

  • 你有沒有因爲在 Adater 或者 Dialog 或者其他沒有 Activity 的地方需要 startActivityForResult. 痛點解決方式,0入侵
  • 你有沒有因爲進入一些界面有前置條件而寫一些噁心代碼. 比如 A 界面需要定位成功才能進去. 你可能有以下兩種方式去解決. 痛點解決:Component 頁面攔截器
    • 你不得不在任何一個跳轉到 A 界面的地方去判斷當前是否定位成功, 處理完畢之後再跳轉. 這種方式噁心至極, 每次都要寫一些固定代碼
    • 在目標界面去處理定位的事情. 這個方式相對來說比較好, 但是它畢竟已經進入了 A 界面, A 界面需要額外考慮這些, 並且還可能要展示定位失敗的視圖等等
    • 你使用 ARouter 的 extra 做, 這個是一一種方式, 但是有兩個問題:
      • ARouter 的路由攔截器設計在子線程, 而定位這些漫長的, 通常你希望彈個框卡住用戶操作, 你會發現寫起來賊噁心. Component 設計在主線程的, 但是整個跳轉是 "異步的"
      • ARouter 的每個攔截器都是全局攔截器, 你每多一個這種攔截器, 都會加長整個路由的流程
  • 整合 RxJava, Component 本身完美支持 RxJava, 這樣子你的跳轉就可以嵌入你任何一個其他 RxJava 流程中去了. 不會像之前一樣整個流程被打斷
  • 你以爲你寫的界面, 你可以路由到就已經 ok 了嗎? 其實不然, 每一個你寫的界面、系統界面、第三方界面都應該是一個可路由的目標, 其他框架不能給任意一個界面標記路由. 這個也是一個痛點. 解決方案
    • 比如撥打電話界面, 是需要申請權限才能進入的. 如果你能給撥打界面標記一個路由, 並且結合上面的頁面攔截器. 你會發現這件事做起來舒服至極!
    • 比如拍照界面, 需要申請相機權限. 同樣可以這麼處理.
    • 當然了, 適用於任何一個你覺得可以標記的界面. 並結合頁面攔截器會有奇效!
  • 有些界面參數較多, 跳轉入口也較多, 你會發現維護這些跳轉的參數其實會比較頭疼. 這時候你可以使用 類似 Retrofit 接口編程式跳轉
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章