原创 自定義 View 基礎

View 定義:顯示在屏幕上的各種視圖。 View 分類:View(單一視圖)、ViewGroup(視圖組)。 View 結構:樹形結構,從根節點開始測量繪製(樹形遞歸)。 Android 座標:座標原點-左上角;正方向-向右

原创 自定義 View:Draw 過程

1、作用 作用:繪製 View。 2、Draw 過程 View 的繪製過程:draw()->drawBackground(繪製背景)->onDraw(繪製內容,重寫)->dispatchDraw(繪製子view,空實現)->

原创 自定義 View:Layout 過程

1、作用 作用:計算 View 的位置。 2、Layout 過程 View 的 Layout 過程:layout->onLayout(空實現)。 View.java // 四個頂點位置,確定 view 的位置

原创 自定義 View:Measure 過程

文章目錄1、作用2、關鍵類:LayoutParams2、關鍵類:MeasureSpecs3、Measure 過程 1、作用 作用:測量 View 的寬高。 注意:有些情況需要多次測量,measure 過程得到的寬高可能不準確;o

原创 Kotlin:基本數據類型

文章目錄1.數據類型2.數值3.類型轉換4.位操作符5.字符6.布爾7.數組8.字符串9.字符串模板 1.數據類型 1、數值(Numbers):Btye、Short、Int、Long、Float、Double。 2、字符(Char

原创 Kotlin:環境搭建

文章目錄1.定義2.環境配置3.Androidstudio 創建新工程 1.定義 在 Java 虛擬機上運行的靜態類型編程語言,在 Google I/O 2017 中,Google 宣佈 Kotlin 成爲 Android 官方

原创 Android 屏幕適配:基礎知識

文章目錄1、定義2、相關概念3、屏幕適配 1、定義 屏幕適配定義:在不同尺寸、分辨率的手機上具有相同的顯示效果。 2、相關概念 1、屏幕尺寸 含義:手機對角線的物理尺寸 單位:英寸(inch),1 英寸 = 2.54 cm 2

原创 Kotlin:基礎語法

文章目錄1.包聲明2.函數定義3.常量與變量4.註釋5.字符串模板6.NULL 檢查機制7.類型檢測及自動類型轉換8.區間 1.包聲明 1、文件開頭聲明,默認 default 包。如:package com.strugglelin

原创 約束佈局:ConstraintLayout

文章目錄優點具體使用 優點 位置、大小更靈活,可以減少佈局嵌套。 具體使用 ConstraintLayout 官方文檔 ConstraintLayout 中文詳解

原创 Android 修改項目包名

文章目錄1、修改 applicationId 實現 APP 不覆蓋安裝2、修改項目包名 1、修改 applicationId 實現 APP 不覆蓋安裝 問題:修改 applicationId 能實現 APP 不覆蓋安裝;支付、第三

原创 Java:synchronized

文章目錄1、定義2、作用3、特點4、原理4、具體使用 1、定義 Java 關鍵字 2、作用 同步方法/代碼塊,保證同一時刻只有 1 個線程執行。 3、特點 保證原子性:操作全部執行,或全部不執行。 保證可見性:一個線程修

原创 ThreadPool:線程池

文章目錄1、定義2、作用3、核心參數4、工作流程5、常用線程池6、具體使用 1、定義 緩存一定線程數量的區域。 2、作用 複用、管理線程,避免新建線程/銷燬線程消耗CPU資源。 3、核心參數 參數 作用 co

原创 Android SDK 版本和 API Level 對照表

Android SDK 版本 和 API Level 對照表 注:Androidstudio->Tools->SDK Manager 可以查看對應 SDK 版本和 API Level。 Name API Level

原创 Android 9.0 適配

Android 9.0 適配:targetSdkVersion >= 28 一、Android P 限制明文流量的網絡請求 1、問題 not permitted by network security policy。 2、原因:

原创 IntnetService:源碼分析

1、工作原理 繼承 Service + ServiceHandler + HandlerThread。 1、源碼分析 public abstract class IntentService extends Service {