原创 Java 多線程的設計模式之 Future

Future 設計模式核心原理圖: client端通過 FutureData 發送一個執行耗時操作的請求,FutureData 則直接返回一個回調接口的引用(Data 接口,用於返回獲取到的真正結果),然後在 FutureDat

原创 Androd 多語言國際化設置

用於控制當前 App 顯示的不同語言(我這裏是適配的法語): Resources resources = getContext().getResources(); DisplayMetrics dm = resources.get

原创 Java Volatile 關鍵字

volatile 我們在代碼中開啓一個線程之後,想要依據某些條件去控制線程是否結束的時候,可以通過定義一個 volatile 關鍵字修飾的變量去進行操作。示例代碼如下: public class RunThread extends

原创 Glide ImageViewTarget 加載圖片監聽

引發場景: 使用 Glide 加載高清大圖的時候,在加載過程中,顯示一個加載進度條,加載結束之後,取消進度條。 Glide ImageViewTarget API 相關方法介紹: void onLoadCleared(Drawa

原创 Kotlin 雙冒號 :: 使用

Kotlin 中 雙冒號操作符 表示把一個方法當做一個參數,傳遞到另一個方法中進行使用,通俗的來講就是引用一個方法。先來看一下例子: fun main(args: Array<String>) { println(loc

原创 Java Master-Worker模式

Master-Worker 模式是常用的並行計算模式。它的核心思想是系統由兩類進程協作工作:Master 進程和 Worker 進程。Master 負責接收和分配任務,Worker 負責處理子任務。當各個 Worker 子進程處理

原创 Android 統一爲項目中的所有 Activity 添加自定義TopBar

出處 這兩天在查看 GitHub 上的一個比較火的開源庫 BaseRecyclerViewAdapterHelper 的 demo 過程中,學到了一項新的技能。這裏整理出來,與大家分享一下。 實現的功能 我們在寫項目的過程中,幾

原创 Kotlin 創建 main 函數

測試 Kotlin 的時候,我們需要一個和 Java 語言一樣的 main 函數入口,這裏要注意一下創建的方式。 右鍵 -> New -> Kotlin File/Class 這裏新建的時候要選擇 File 類型。 點擊

原创 入門級 MVP

前段時間在騰訊課堂看了一個關於 MVP 模式講解的直播,整體看下來感覺還是相當適用於一直對於 MVP 處於理論瞭解的新手。 這裏對於理論知識我就不多說廢話了,相信大多數朋友都有所瞭解。 那麼我們就直接開始進行貼代碼。最後我會附

原创 Android 圖片添加水印

拍照或者本地圖片添加水印,效果圖: 添加水印方法: /** * @param src 添加水印的圖片 * @param title 水印文字 * @return */ pub

原创 Android Studio 上傳 Library 至 Jcenter 生成依賴的兩種方式(菜鳥級教程)

之前感覺 Studio 中直接使用 compile ‘xxxxxxx’ 感覺挺方(裝)便(逼)的。然後網上翻閱了老多的資料,不停的去嘗試。雖然當時也成功了,後來才發現原來賬號都註冊錯了(註冊成組織賬號了 /尷尬)。這裏整理一下上傳

原创 Kotlin中雙冒號::使用方法

這篇文章主要給大家介紹了關於Kotlin中雙冒號::使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Kotlin具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧 Kotlin 中 雙冒號操

原创 Android Retrofit2 上傳文件攜帶參數

ApiService 中的寫法: @POST("/upload/xxx") fun xxxMethod( @Body body: RequestBody ): Observable<

原创 OkHttp 添加 Https 單向認證證書(證書類型 PKCS12)

移動端需要在 Http 中添加單向或雙向認證證書,防止其他非法請求操作。 添加證書文件 在 res 目錄下添加 raw 目錄,然後導入 apicer.pfx(ps:名字自定義) 證書文件。 配置證書 在 OkHttpClient 初始

原创 Android 獲取、移除 View 的 OnClickListener

之前在代碼中設置的通過 View.isClickable 去控制 View 的重複點擊,昨天突然發現即使控制了,仍然能夠再次觸發點擊事件,讓我很是懵逼。 後來翻閱一系列的資料之後,發現了 View.setOnClickListener 源