原创 基於booster給方法套層try..catch (Demo)

如果不自己寫一個plugin插件的話,可以現有開源庫比如Lancet或者AspectJ這兩個庫功能強大,用於給方法套一層try...catch自然是輕而易舉,可以網上搜索下有很多的文章。 本文默認你已經熟悉了採用ASM實現gradle pl

原创 基於booster仿造“ASM在隱私合規掃描中的應用實戰“

在看了京東零售技術的公衆號發的文章:ASM在隱私合規掃描中的應用實戰之後,想把這個插件整合進自己的一個ASM實現plugin合集中來,由於自己的工程是仿造booster框架實現的,也就是說得把原文中是採用MethodVisitor的方式替換

原创 一種動態更新Flutter產物的方式實踐(Android版)

Flutter發佈已經算有些時間了,當在一個工程中嵌入Flutter模塊的時候,很明顯就會發現給apk帶來了不少M的包大小,而這些帶來大小的除了flutter sdk引入的源碼外,還有以下這些肉眼可見的"產物"。 所以,如果這些產物能夠

原创 基於RxJava實現的MVP實例

以前我們所謂的MVC架構通常我們會在Model跟View直接交互,而MVP中我們採用Presenter作爲中間Model獲得數據後傳給Presenter然後Presenter將結果傳遞給View顯示。 說明: 步驟1:UI實現

原创 RxJava入門初體驗

在RxJava的世界裏,有四個主要的角色: Observable Observer Subscriber Subjects Observable和Subjects是兩個”生產”實體,Observer和Subscriber

原创 使用RxJava實現的超簡單事件總線RxBus

項目中加入了RxJava,所有很有必要把Eventbus給替換掉了,引用使用RxBus完全滿足了需求了。而且RxBus實現起來超簡單隻需要幾行代碼就好了而且同一使用RxJava來取消綁定,我們可以忽視了Eventbus的unreg

原创 Flutter視頻播放封裝歷程

本文基於官方視頻播放plugin進行封裝 https://github.com/flutter/plugins/tree/master/packages/video_player/video_player 在日常的開發中,難免

原创 閒魚"同款"的Flutter圖片下載功能(demo版)

前不久閒魚團隊的公衆號發了一篇文章講了閒魚團隊在Flutter圖片框架的演進過程文章,裏面講到了使用外接紋理的方式來實現圖片下載功能:閒魚Flutter圖片框架架構演進(超詳細),本文的用意就是動手實現閒魚的這個外接紋理圖片下載功

原创 Android中線程池的最佳配置方法

提到線程池每一個開發者都知道其中的好處,我們不得不提線程池的好處: 1.重用線程池中線程,避免因爲線程的初始化和銷燬帶來的性能開銷 2.能有限控制線程池中的最大併發數,避免因爲線程間互相搶佔系統資源而導致的阻塞 3.能有效的

原创 RecycleView從顯示到下拉刷新和加載更多

RecycleView出來已經有一兩個年頭了最近在項目中完全替換掉了ListView很有必要的寫一篇記錄一下使用過程,以便以後溫故而知新。 RecycleView的使用場景開始到初始化 RecycleView可以用於展示列表式、網

原创 在Android使用AIDL實現IPC機制

之前在自己應用中把一個視頻播放界面採取了多進程機制實現,這樣的好處是當播放界面出現任何異常會把視頻播放的那個進程強制關閉而不會影響到整個應用,從用戶體驗上來講有很大的改善。我們採取的做法: android:process=":re

原创 Retrofit結合RxJava的一次實踐

公司的一個項目中已經採用了Retrofit加RxJava的作爲網絡請求框架,強大的框架所以替換了那麼久決定記錄一下我的實踐過程。 第一步,觀察服務器返回的結果定義返回結構實體類 { "errno": 0, "err

原创 Android的序列化Parcelable接口

在Android中我們推薦使用Parcelable來實現對象的序列化,只要我們實現Parcelable這個接口,一個類的對象就可以實現序列化並通過Intent和Binder傳遞,至於爲什麼稍後再做解釋。 我們先定義一個User來i

原创 使用Gradle統一管理常用庫和版本號

現在AndroidStudio已經是開發Android的主流IDE了,當然還有人在使用Eclipse特別是那些項目中使用自己開發的so文件的公司可能由於各種原因還沒切換到AndroidStudio。在AS中常見的引用庫我們是在我們

原创 ContentProvider應用組件實例記錄

如果你公司開發了多款應用且應用間需要共享數據,如果你的應用中存在android:process=”:remote”這樣的多進程的操作,是否還在憂愁如何傳遞數據這時候ContentProvider就可以派上用場了,貴爲四大組件之一專