原创 Retrofit簡單使用

一次簡單完整的網絡請求處理 0.前置工作:添加依賴、權限 retrofit github     retrofit官方文檔 retrofit依賴: implementation 'com.squareup.retrofit2:retr

原创 MVP簡單架構

MVC --> MVP : 將Activity的View和Controller雙重職責分離,Activity單純負責View邏輯,Presenter層處理Model和View層的交互邏輯,Model層處理數據邏輯。 換言之,MVP類似於M

原创 APT 編譯期處理註解

APT:Annotation Processing Tools。編譯期處理註解工具。 對源代碼文件進行檢測找出其中的Annotation,Annotation處理器在處理Annotation時可以根據源文件中的Annotation生成額外

原创 面向對象理解

1.萬物皆對象 編程實際是從現實問題建模轉變爲程序問題的一種具體實現,編程思想也脫胎於現實世界。   2.類-對象的統稱,對象-類的具體實例 類:具有相同特性的所有對象的抽象,如同:鳥類、人類 對象:具體的某個類的實實在在存在的東西,如同

原创 常用命令合集

獲取當前Activity信息 adb shell "dumpsys window w | grep name=" 關聯本地git到github git remote add origin http:xxxx 刪除遠程倉庫 git

原创 ThreadLocal 線程本地變量

簡介 官方文檔有道之後的結果。 該類提供線程本地變量。這些變量與一般的變量不同,每個線程訪問一個線程(通過get或set方法)有自己獨立的變量初始化副本。ThreadLocal實例通常是私有的靜態字段在類希望關聯狀態的線程(例如,一個用

原创 SpannableString花式文本混排

情景 效果 SpannableString setSpan what 風格 flags 延續範圍 效果所有代碼 情景 使用一個TextView混排多種不同顏色、大小等風格。 效果 SpannableString 這是文本

原创 Service基礎

基本介紹 使用方式 Started 方式 Bound 方式 MyService 運行線程 IntentService 進程間通信IPC 基本介紹 Service是一個應用程序組件,四大組件之一,它能夠在後臺執行一些耗時較長的

原创 Android內存泄漏測試、定位

工具 使用 導入LeakCanary AS(v3.1.2)獲取heap dump文件 .hprof MAT分析內存泄漏原因 工具 Android Studio下載 MAT(Memory Analyzer Tools)下載

原创 軟鍵盤彈出/縮回事件監聽

情景 特殊情況需要獲得軟鍵盤的彈出狀態,進行特定的UI展示與隱藏。 實現 重寫外層佈局 通過log打印,會發現每一次的彈出與縮回,外層佈局會有多次的測量、佈局的操作。這裏在onMeasure()方法獲取每次的測量狀態。 /** * 監聽

原创 SlidingTabLayout:完全自定義Tab導航欄UI風格

情景 效果 使用 導入 使用 Demo地址 SlidingTabLayout源碼 SlidingTabStrip源碼 情景 系統自帶的Tablayout拓展性實在太差,但很多時候又需要對Tab進行類iOS風格的自定義,使用反

原创 Java GC簡單理解

情景 Java運行時內存劃分 程序計數器 Program Counter 虛擬機棧 Java Stack 本地方法棧 Native Method Stack 堆區 Heap 方法區 Java內存分配機制 年輕代 Young

原创 Java四種引用類型、RefrenceQueue簡單理解

情景 強引用 StrongRefrence 軟引用 SofrRefrence 弱引用 WeakRefrence 虛引用 PhantomRefrence RefrenceQueue WeakHashMap 情景 處理Android

原创 啓動頁、沉浸式狀態欄

情景 效果 使用 啓動頁 沉浸式狀態欄 情景 啓動頁:簡而言之,微信看地球的圖片。用圖片代替app初始化過程沒有用戶可見界面的白屏,使app更加“友好”。 沉浸式狀態欄:或者稱透明狀態欄。將狀態欄顏色與app顏色一致,使用

原创 JDom解析xml文件

情景 jar包下載地址 xml文件 解析xml 結果展示 情景 解析xml配置文件,將數據庫列名和Bean的屬性映射。 jar包下載地址 DOM:jdk自帶 標準的xml解析方式,樹形加載整個xml,不適合大文件。 SAX:h