原创 穿山甲和廣點通激勵視頻廣告打開失敗的異常處理

由於項目裏接入了廣告,包括但不限於穿山甲sdk和廣點通sdk,視頻廣告是收益比較高的廣告,項目裏面出現的地方比較多。流程一般都是UI上有個按鈕,點擊按鈕,請求到激勵視頻廣告,然後直接打開該廣告,也就是跳轉到廣告視頻頁面,等廣告播放結束後,

原创 EventBus 的源碼分析

EventBus 簡化了程序內各個組件之間進行通信的複雜度,極大的解耦了各個模塊之間的關聯,比如想在 Activity B頁面發送個數據給 Activity A頁面,我們就可以用它來實現。先定義一個包裝數據的bean Bean publ

原创 OkHttp 源碼簡要分析 (Request 詳解)

我們知道,http 請求分爲三個部分, 請求行、請求頭和請求體;對應的消息也分爲三個部分:響應行、響應頭和響應體。以前使用 HttpURLConnection 時,我們很容易設置消息頭及參數,它內部是封裝了 Socket 供我們使用。補充

原创 RxJava 線程切換,AndroidSchedulers 源碼分析(三)

RxJava線程類型有以下幾種: Schedulers.io() 用於網絡請求、訪問數據庫等耗時操作,線程數量無限制  Schedulers.newThread() 創建新的線程,需要慎用,用在長時間運行在後臺不會頻繁創建和銷燬 Sche

原创 Kotlin 基本數據類型及運算符

Kotlin 的基本數值類型包括 Byte、Short、Int、Long、Float、Double 等等;這裏要注意,字符不屬於數值類型,是一個獨立的數據類型;     val intNum = 1000  // Int     val

原创 RxJava 線程切換 ,源碼分析(二)

RxJava 比較方便的一點在於線程間的切換,我們可以從上往下下,並且隨時實現線程的切換,看個簡單的代碼     private static void initRxJava1(){         Observable      

原创 OkHttp 源碼簡要分析三 (攔截器及其細節)

上一章提到了 OkHttp 的 RealCall 類,獲取報文是通過 getResponseWithInterceptorChain() 方法,這裏面用到了責任鏈模式,看看代碼   Response getResponseWithInt

原创 RxJava 源碼分析(一)

RxJava 現在用的比較廣泛了,尤其是用在網絡中,我們來看看它到底是什麼,怎麼用。這裏以 1.1 版本爲例,比較早起的本,使用的時候,先註明引用 implementation 'io.reactivex:rxjava:1.1.7' 我

原创 反射獲取drawable等資源

做android項目打包apk時,爲了儘量減少apk的大小,加入了替換資源路徑功能,類似於微信混淆壓縮,把資源路徑和資源的名稱用較短的字符串替換,這樣做的好處是apk確實變小了,壞處就是一些通過資源的名字,用反射的方式來獲取資源失敗了,因

原创 Retrofit 源碼簡介

我們先洗個請求的例子,如下     private void retrofitTest() {         Retrofit retrofit = new Retrofit.Builder()                 .ba

原创 ValueAnimator 源碼分析

ValueAnimator 是繼承 Animator 這個抽象類,Animator 中定義了一些回調即回調接口的集合,這個裏面沒什麼具體內容,大部分都是抽象類,這裏體現了動畫整體的框架,需要注意的是 resume() 和 pause()

原创 廣點通sdk廣告中的激勵視頻關閉按鈕引發的bug排查及解決

前幾篇寫過穿山甲sdk激勵視頻按鈕丟失回調的問題,今天說說廣點通sdk激勵視頻的問題。可以先看看前文:https://blog.csdn.net/Deaht_Huimie/article/details/104035669 ​​​​​​​

原创 OkHttp 源碼簡要分析二 (Dispatcher 請求機制詳解)

get 方式網絡請求 private void okhttp() {         OkHttpClient mOkHttpClient = new OkHttpClient.Builder()                

原创 Kotlin 初步介紹-語法

Kotlin 也是把代碼編譯成 .class 文件,Java 也是這樣,所以 Android 前幾年支持Kotlin,今天就初步介紹一些基本的語法。 定義常量與變量 var <標識符> : <類型> = <初始化值>   // var 是

原创 Retrofit 之註解

項目裏使用的版本是  'com.squareup.retrofit2:retrofit:2.0.1' ,測版本一共37個類,其中22個是註解類,並且 Retrofit 中用到註解的邏輯也比較重要,所以這裏就註解和反射類 Method 稍作