原创 Android APK大小優化

APK壓縮前大小:39.9MB 資源優化 刪除無用資源 使用Android Studio 的Analyze - Run Inspection By Name... 選項 搜索unused resources 查找無用資源。並對其刪除。 刪除

原创 Retrofit源碼閱讀

前言 爲什麼要看Retrofit源碼? 因爲目前項目使用的Retrofit網絡請求。想去詳細瞭解下。 這次閱讀重點關注的點通過Create方法追蹤工作流程 如何進行線程切換 用到反射如何去優化性能的 怎麼解析參數和註解的

原创 3、無重複最長字符串

題目 給定一個字符串。請你找出其中不含有重複字符的 最長子串 的長度。 示例 輸入 s="abcabcbb" 輸出 3 因爲無重複字符的最長子串是 "abc",所以其長度爲 3。 示例 輸入: s = "bbbbb" 輸出: 1

原创 鏈表簡介

鏈表簡介 鏈表是一種線性數據結構 鏈表有兩種分別爲 單鏈表 僞代碼如下: //Kotlin class SingleListNode constructor(@JvmField var value:Int?=null){ @J

原创 一次Room在項目中的實踐

一、前言 在項目中很多很多的頁面用了很多的枚舉,而產品和需求發對完發完版本這個枚舉更改過很多次。或者前端與後端更改沒有通知我們移動端,導致出現移動端前端不一樣的展示的問題,所以決定枚舉有後端返回 key,value的形式我們自己去匹配查找

原创 Android集成信鴿推送遇到的問題

一、華爲廠商通道遇到的問題 需要在華爲官網配置SHA256 在華爲官網發送推送時不能使用信鴿返回的通用token,需要使用 otherPushToken否則會報無效token。日誌如下: I/XINGE: [a] Already b

原创 返回數組分界點下標

public class 返回數組分界點下標 { public static void main(String[] args) { int[] arrays = {1, 2, 3, 3, 2, 1};

原创 斐波那契數列

Github import org.w3c.dom.Node; import java.util.HashMap; public class 斐波那契數列 { public static void main(String[] a

原创 樓梯走法

Github public class 樓梯走法 { private static int i = 0; public static void main(String[] args) { calc("",

原创 快排

Github 單邊循環法 public class 快排 { public static void main(String[] args) { int[] arrays = {8, 0, 9, 10, 8, 4,

原创 鏈表環和反轉

Github public class 鏈表環和反轉 { public static int count; public static void main(String[] args) { Node nod

原创 二進制1的個數

Github public static void main(String[] args) { // num("00000000000000000000000000001011"); // System.ou

原创 二叉樹深度

Github public class 二叉樹深度 { public static void main(String[] args) { TreeNode treeNode1 = new TreeNode(1);

原创 EvenBus的基本使用和源碼分析

前言 由於最近項目中頻繁使用EventBus,所以想了解下它內部原理,我們得"知其然知其所以然"。在這裏總結一下,方便自己複習。 歡迎start我的GitHub項目,裏面會不定時更細Android 、java、設計模式相關知識! Event

原创 Android 自定義View餅圖

前言 因爲目前看到公司設計圖初稿有個餅圖,一開始想用github上的一些開源的框架,但是感覺框架太全用到的只有一個餅圖,並且自己擼一個也是一個學習進步的過程。 先看下效果圖: 繪製扇形 1、先確定圓的區域 RectF mRect = ne