原创 ArrayList 源碼分析(基於 JDK 1.8)

ArrayList 源碼分析 原文地址:GitHub ArrayList 是 Java 中比較常用的集合之一。它實現了 List, RandomAccess, Cloneable, java.io.Serializable 這四個

原创 Android 保存圖片(包括網絡圖片)到單獨的相冊

  我們經常會遇到將圖片保存到本地的操作,而且有時候我們需要將圖片保存到一個單獨的相冊,比如微信保存的圖片是放到微信相冊,微博放到了微博相冊。   我們保存的圖片可能有很多的類型,比如 Bitmap、網絡圖片、字節數組、資源 ID 等,根

原创 Git Couldn't stash Unable to create index.lock File exists.

今天在使用 Git ,當我 pull 時,失敗了,日誌爲: Couldn't save uncommitted changes.         Tried to save uncommitted changes in stash bef

原创 常問的幾個基礎排序,要不再複習一下?

Github 地址 排序,不管是日常開發還是面試中,都會被光顧,雖然現在 jdk 的集合中提供了排序的方法,但是我們也得去熟悉一些基礎的排序算法,這裏筆者給大家分享五個常問的基礎排序,冒泡、選擇、插入、希爾、快排。 冒泡排序 冒泡

原创 關於二叉樹的遍歷,你要的都在這

關於二叉樹的遍歷,你要的都在這 原地址:GitHub 樹的概括 樹 什麼是樹,樹是數據結構中的一個基礎類型,是包含n(n>=0)個結點的有窮集,由這 n 個節點組成一個具有層次關係的集合,因爲其可視化形狀像一顆倒立的樹,所以被稱爲

原创 使用 Fresco 展示 Gif,控制播放次數,拿着就能用

  我們在開發中經常會做一些 Gif 展示,而一些開源的圖片框架如 Glide、Fresco、GifImageView 也能夠展示 Gif,GifImageView 可以直接設置播放次數,而 Fresco 好像並沒有設置播放次數的,就需要

原创 如何防止系統彈窗被多次調用

  在日常的開發中,我們經常會使用到 Dialog、PopupWindow、Toast 等,爲了防止重複點擊多次彈出,我們可以使用單例、或者定時器,配合 isShow() 的方法能很好的解決這個問題。  那麼系統的彈窗呢?比如 Inten

原创 Kotlin 學習——控制流(if、when、for、while)

if 表達式fun main(args: Array<String>) { val a = 2 val b = 3 var x = 0 // 最簡單的使用 if (a>b) x = a pr

原创 Kotlin 學習——基礎語法

    和 Java 一樣,當需要引包時,包的聲明需要寫在源文件頂部import java.util.* //...    當我們創建一個 Kotlin 的 .kt 文件,可以直接在裏面寫 main() 方法,Kotlin 的 main

原创 Android 獲取 Notification 權限

  本來需要拿一下 Notification 的權限,看了一下網上的博客,基本上都是使用反射,代碼較長,而且試了一下,好像拿到的結果也不是很準確,其實可以直接使用 Google 提供的方法: NotificationManagerCom

原创 Kotlin 學習——基本類型

    在 Kotlin 中,有着幾種基本類型:數字、字符、布爾值、數組與字符串。數字:Kotlin 對於數字的處理接近 Java,但又有不同。如:數字沒有隱式拓寬轉換。Kotlin 提供瞭如下的內置類型來表示數字:類型字節位Double

原创 設計模式——觀察者模式

    觀察者模式(Observer Pattern)是一個非常受歡迎、使用率非常高的一種設計模式,它分爲觀察者、被觀察者,觀察者對觀察者的某個變化高度敏感,當被觀察者某個狀態發生變化時,被觀察者提醒觀察者,觀察者作出響應。比如比較火的框

原创 設計模式——建造者模式(Builder Pattern)

    建造者模式(Builder Pattern)是用來一步一步創建一個複雜對象的的創建型模式,在使用者不知道複雜對象內部時還可以很精確的控制對象的構造流程,將部件和組裝分離,使得構建過程和組件都可以自由擴展,降低代碼耦合性。    建

原创 支持左滑菜單欄的 RecyclerView

iOS 有一個自己的交互方式,左滑菜單欄的數據列表,手機 QQ 也是這樣的交互方式,但是 Android 自身卻沒有這樣的控件,需要我們自己去封裝,筆者這裏封裝了一個簡易版的,需要自取。 先放效果圖 優點 輕量:該庫比較輕量,不

原创 Kotlin 學習——認識 Kotlin

    Kotlin,是由 JetBrains 公司開發,並且在 Apache 許可下已經開源。    在 2017年 Google I/O 大會上,Google 宣佈 Kotlin 成爲 Android 的官方開發語言。    Kotl