原创 基於 RxJava2 、Retrofit2、Okhttp3 的封裝庫——RxPanda 項目地址 接入方式 RxPanda Release Log 基本用法 日誌處理 Gson 解析處理 混淆打包

項目地址 RxPanda,歡迎使用和 star,提出的問題我會及時回覆並處理。 接入方式 dependencies { "com.pandaq:rxpanda:1.0.2" } RxPanda 基於 RxJava2 Retrofi

原创 看你的 APK 辣麼胖,也不減減肥 分析“肥胖原因” jniLibs 的取捨 資源優化 png 圖片處理 總結一哈

擼完代碼打包發現應用沒太多複雜功能的應用打包出的 apk 安裝包大小居然達到了感人的 62M 之大!顯然這個這個大小是不能接受的。那麼要瘦身首先要知道胖在哪兒,對症下藥才能出奇效。 分析“肥胖原因” Android Studio 自帶的 A

原创 Flutter 底部導航欄頁面的狀態保持 總結

使用 Flutter 實現帶底部導航欄的 APP 主頁面,根節點使用 Scaffold,再配置 bottomNavigationBar 設置點擊事件通過調用 setState() 方法在 build 返回不同的頁面即可。但運行後會發現,點擊

原创 RxJava 觀察綁定和事件發送流程及其中的線程切換分析 訂閱和事件流 線程調度

本文的所有分析都是基於 RxJava2 進行的。以下的 RxJava 指 RxJava2 閱讀本文你將會知道: RxJava 的觀察綁定和事件發送過程 RxJava 觀察綁定和事件發送過程中的線程切換 從 RxJava1.0 到 RxJ

原创 RxJava 合併操作 常用的幾個合併操作符 結語

在項目開發中常常會在一個頁面中執行多個任務,多線程異步執行任務時哪個任務先結束出結果這些並不好控制,譬如要進行幾個併發的網絡請求在都拿到結果後需要對數據進行處理,希望的是用戶只感知一次數據加載,如果不能做到這樣,反饋到用戶界面的體驗也就不好

原创 基於 RxJava2 、Retrofit2、Okhttp3 的封裝庫——RxPanda 項目地址 RxPanda Release Log 基本用法 日誌處理 Gson 解析處理 混淆打包

項目地址 RxPanda,歡迎使用和 star,提出的問題我會及時回覆並處理。 RxPanda 基於 RxJava2 Retrofit2 Okhttp3 封裝的網絡庫,處理了數據格式封裝,gson 數據類型處理,gson 類解析空安全問題

原创 我的 Android 組件化之路 結構圖 爲什麼要做組件化 組件化過程中的幾個問題 其他思考

結構圖 其中路由數據組件爲上層業務組件必須要依賴的庫,獨立功能組件和公共 UI 組件可以根據需求選擇是否依賴。公共 UI 組件爲應用整體 UI 風格上的公共配置和封裝,一般業務組件也都會依賴。基礎SDK 爲最底層的 SDK 庫,所有的業務

原创 優雅的處理 Android 代碼混淆 Keep 問題 常規操作 簡化操作 優雅操作 總結

爲了源碼安全以及縮小 APK 體積,Android 應用發佈前是必須要進行混淆打包的。而混淆打包並不是全量打包,特定的類、方法、屬性是需要排除在混淆之外的,比如數據模型類,自定義 View 等在混淆時如果不通過規則排除在外可能存在運行時找不

原创 Linux 環境搭建Android 的 Jenkins 自動構建環境 安裝 jenkins

安裝 jenkins 使用 wget 直接安裝。可在這裏查看最新版本 下載 wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/debian-stable/jenkins_2.190.3_

原创 聊一聊 RxJava2 中的異常及處理方式 訂閱方式 異常處理 處理方案

衆所周知,RxJava2 中當鏈式調用中拋出異常時,如果沒有對應的 Consumer 去處理異常,則這個異常會被拋出到虛擬機中去,Android 上的直接表現就是 crash,程序崩潰。 訂閱方式 說異常處理前咱們先來看一下 RxJava2

原创 聊一聊 RxJava2 中的異常及處理方式

衆所周知,RxJava2 中當鏈式調用中拋出異常時,如果沒有對應的 Consumer 去處理異常,則這個異常會被拋出到虛擬機中去,Android 上的直接表現就是 crash,程序崩潰。 訂閱方式 說異常處理前咱們先來看一下 RxJava2

原创 Flutter 學習日誌 (二) 現有項目集成 flutter

本文主要介紹怎樣在現有的 Android 項目中集成 flutter 開發界面,以及 flutter 與原生之間怎樣進行方法互調、數據雙向傳遞 依賴集成 官方目前沒有正式的集成文檔,只有一個 github 上的 wiki 頁面做了相關介紹。

原创 Flutter 底部導航欄頁面的狀態保持

使用 Flutter 實現帶底部導航欄的 APP 主頁面,根節點使用 Scaffold,再配置 bottomNavigationBar 設置點擊事件通過調用 setState() 方法在 build 返回不同的頁面即可。但運行後會發現,點擊

原创 仿微信表情輸入鍵盤(支持 Gif 表情圖文混排 )

簡介 自定義的表情輸入鍵盤在很多應用中都會有用到,譬如微信、QQ 等社交聊天軟件中更是不可缺少的部分。本文將解析一下個人的自定義表情輸入控件庫 PandaEmoView 的實現和使用。 該庫具有以下特點: 支持 emoji 表情圖片 支持

原创 看你的 APK 辣麼胖,也不減減肥

擼完代碼打包發現應用沒太多複雜功能的應用打包出的 apk 安裝包大小居然達到了感人的 62M 之大!顯然這個這個大小是不能接受的。那麼要瘦身首先要知道胖在哪兒,對症下藥才能出奇效。 分析“肥胖原因” Android Studio 自帶的 A