原创 【原碼—反碼—補碼】淺談領會

目錄   前言: 原碼、反碼、補碼的基本計算 一、原碼 二、反碼 三、補碼 爲何要將 原碼--》反碼--》補碼? 原碼的減法計算(錯誤值問題) 反碼的減法計算(+- 0 問題) 補碼的減法計算(解決0符號兩編碼問題) byte的最低值比最

原创 【Java】局部代碼塊加命名標籤

因爲 break 和 continue 關鍵字不指定“誰”只能控制當前代碼塊 如下雙層for循環,選擇查找到重複數字後,break只能退出一層for循環,導致把整個for都遍歷完   System.out.println(findDup

原创 【Android】沉浸模式——適配 9.0 劉海屏  StatusBar 和 NavigationBar

目錄   setSystemUiVisibility方法 常用參數介紹:組合使用 | 位運算符 XML Style Theme佈局設置狀態欄與導航欄屬性 設置狀態欄和導航欄顏色 設置狀態欄字體顏色 安卓6.0後 獲取狀態欄和導航欄高度 f

原创 【Android】私有目錄獲取方法

cache緩存目錄 上下文提供的 getCacheDir() 返回值 方法 獲取路徑 File getCacheDir() 獲取/data/user/packagename/cache目錄,應用程序的緩存目錄,該目錄內的文件在設備內存

原创 【Android】 Handler——子線程更新UI

目錄 Handler的引入 Handler的執行流程 相關名詞解析 Handler相關常用方法 Handler寫在子線程中 子線程更新UI Handler的引入 Handler的執行流程 說白了就是子線程調用了主線程的某對象的方法,通

原创 【Java】多線程同步——之控制static變量同步實例 (多線程賣票)

直接上代碼: public class Main { public static void main(String[] args) { new Thread(new A("線程_1")).start();

原创 【Java】JDK8新特性——Lambda表達式、函數式接口、接口默認(和靜態)方法

目錄   前言: 函數式接口 函數式接口規則: Lambda表達式 語法: Lambda表達式示列代碼 使用Lambda表達式注意 接口默認(和靜態)方法 接口默認方法重複問題解決 前言: Oracle 公司於 2014 年 3 月 18

原创 【Android】測量Paint文字高度方法

/** * 前提是設置文字大小才能測量 */ public class MeasureTextUtils { public static int measureHeight(Paint paint) { Paint.Fon

原创 【Android】 自定義屬性——attr、declare-styleable、style、theme、TypedArray 的基本使用

目錄 1.attr自定義屬性format類型 2. 聲明自定義屬性 3. 自定義屬性複用 自定義屬性之坑 4. xml佈局文件中使用自定義屬性 5. 使用style複用xml屬性 6. 屬性優先級 View的構造方法 TypedArray

原创 【Java】序列化對象基礎——核心細節

目錄 前言 標記接口:Serializble serialVersionUID版本號  序列化注意事項 序列化與反序化 瞬態關鍵字:transient 前言 序列化對象,無非就是對對象的持久化存儲。 序列化常用存取類:序列化類(Objec

原创 【Android】 字體適配——不跟隨系統字體大小、動態設置字體大小之坑

目錄 TextView.setTextSize(); 適配問題起源 TypedValue.applyDimension(unit, size, r.getDisplayMetrics()) 系統源碼自帶像素轉換工具 動態設置TextSiz

原创 【Android】跨進程通信——AIDL、之Service基本細節使用之:精通

目錄 Service 與 Thread 和 進程 的關係 Service的生命週期圖 回調方法詳解 三種服務的啓動方式 1. startService()啓動Service 2. bindService()啓動Service 3. sta

原创 【Android】static靜態變量的生命週期——內存泄漏與回收

目錄   局部變量: 成員變量: 靜態變量: 一. 類裝載時加載並初始化靜態成員。 二. 靜態變量隨着類的卸載而銷燬。 三. Android 進程什麼時候結束? 四. 單列模式對象 (Application) 五. Android 典型內

原创 【Java】反射基礎——示範詳解

目錄 反射概述 Class對象的由來 類加載器 JVM自帶的類加載器的組成 類什麼時候被加載(進入內存) 類的生命週期 引用關係 類的卸載 反射 Class對象的基本使用 獲取Class對象的3中方式 反射獲取構造方法並創建對象 反射獲取

原创 【Android】TypedArray——三個方法獲取dimen返回值的類型

三個方法:getDimension()、getDimensionPixelOffset()、getDimensionPixelSize() 方法名 返回值類型 getDimension() 是後兩個方法的基方法,返回的是float類型。