原创 ScaleGestureDetector 在兩指距離較短時,不能縮放

今天測試反饋縮放時,卡頓,沒有縮放。 一、問題分析 調試了發現,當手指距離很短的時候detector.getScaleFactor() 等於 1,基本不動,那肯定不會縮放了。 沒辦法只能去到 ScaleGestureDetec

原创 Java 反射理解以及Android實戰

學會使用 Java 的反射機制,能夠讓你在實際工作中,如虎添翼。 一 什麼是反射 反射指支持程序在運行狀態時,都能夠獲取該類的內部信息,包裹其中的方法,變量等信息,並可於運行時改變方法或者其內部變量。 簡單來說,如果某個系統

原创 Android 網絡基礎 -- HTTP 請求過程及理解

本文來自 圖解 HTTP ,相關資料與圖片均來自於該書 HTTP 通信過程中,從客戶端到服務端的響應是怎麼樣的呢?這一章,我們一起來了解一下。 一、HTTP 報文 用於 HTTP 協議交互的信息被稱爲 HTTP 報文。 客戶

原创 Android 消息通知欄用法詳解(二) 適配8.0

8.0 以下的通知欄講解,請參考: Android 消息通知欄用法詳解(一) 上篇中,我們學習了8.0 以下的 通知欄常用用法。但8.0之後,google 又引入了 channel 的概念來管理通知欄,避免一拿起手機一大堆通知佔着

原创 Android -- MQTT消息推送實踐

最近接到新需求,需要使用 MQTT 把大屏設備上的信息,比如用戶使用信息,常用需求設置等共享到服務器,且能通過服務器動態設置大屏。所以,這裏簡單學習一些MQTT的知識。 代碼工程: https://github.com/Lillt

原创 Android 的消息機制(UI線程的Looper 爲啥不會阻塞?答案在後面)

說道 Android 的消息機制,其實說的就是 Handler 的運行機制以及 Handler 所附帶的 MessageQueue 和 Looper 的工程過程。 一、 Handler 的運行機制 當 Handler 創建的時候,

原创 自定義控件實例(一) 仿QQ小紅點

最近在複習Android,重新撿起自定義控件。 總結一句話,不要用小聰明規避問題,不然你下次遇到了,你還是什麼都不懂。 先看效果: 工程以及說明: QQ小紅點 首先,看到這個,想到的就是使用貝塞爾曲線了。如果你對怎麼繪製不瞭解,

原创 自定義控件實例(二) -- 顏色選擇器

先看效果: 工程以及說明: 顏色選擇器 再寫這個控件之前,那叫一個糾結啊,如果都封裝好,但是每個人需要都不一樣,有些人可能只需要彩色條,有人可能只需要漸變的。所以乾脆點,兩個都寫出來,自己去配置或者下載改成自己想要的。 一、漸變

原创 實現一個可定製化的TabFlowLayout(二) -- 實現滾動和平滑過渡

效果圖 FlowHelper工程源碼 這次,我們來實現第二個模塊,即view 的滾動和使用 Scroller 平滑滾動,在這篇文章中,您將看到: View 的事件傳遞簡析 ScrollerBy 和 ScrollerTo 的區別

原创 初探Jetpack(三) -- LiveData

初探Jetpack(一) – ViewModel 初探Jetpack(二) – Lifecycles LiveData 是 Jetpack 提供的一種響應式變成組件,它可以包含任何類型的數據,並在數據發現變化的時候,通知觀察者

原创 Android 消息通知欄用法詳解(一)

Android 消息通知欄用法詳解(二) 適配8.0 通知(Notification) 是Android 系統比較有特色的一個功能,當某個應用程序希望向用戶發出一些提示信息的時,而該應用程序又處於後臺,就可以藉助通知來實現。比如微

原创 Android 換膚原理分析

當了解了一些知識,應該用文字記錄它,再抽個時間再看它,永遠記住它 Android 換膚的理論知識和文章已經很多了,這裏記錄一下自己對這塊的理解。本文效果如下: 工程:一鍵換膚的快樂 一、換膚的由來 首先,爲什麼要換膚呢?那肯

原创 Glide 緩存機制解析(爲啥使用弱引用)

目前圖片框架,基本就是 Glide 一統江山了,除了極其簡單的鏈式調用,裏面豐富的 API 也讓人愛不釋手。 那麼,這樣一個好用的框架,裏面的緩存機制是怎麼樣的呢? 我們知道,一般圖片框架,加載圖片,都是通過內存緩存 LruCac

原创 初探Jetpack(一) -- ViewModel

一、JetPack 簡介 以前在沒有 Jetpack 的時候,大家項目中最常使用的就是 MVP 或者 MVVM 等設計模式來解耦邏輯和UI,當然這非常考驗個人的設計能力和經驗。 Google 貌似也意識到了這個問題,在 2018推

原创 Android 線程池解析與複用原理

作爲面試的常住嘉賓之一,線程池的拷問,估計每個面試官都想問一遍。 下面,我們一起來學習一下。 一、線程池 首先,提到線程池就得說說它的好處,總得來說,可以分爲以下三點: 複用線程池的線程,避免線程創建和銷燬帶來的性能開銷。 控制