原创 第四章-View的工作原理(measure、layout、draw)

View的工作流程主要是指measure、layout、draw這三大流程,即測量、佈局和繪製。其中measure確定View的測量寬/高,layout確定View的最終寬/高和四個頂點的位置,而draw則將View繪製到屏幕上

原创 第三章-View事件體系(View的滑動、彈性滑動)

View的滑動 使用scrollTo/scrollBy 使用動畫 改變佈局參數 各種滑動方式的對比 彈性滑動 使用Scroller 通過動畫‘ 使用延時策略 在上一節介紹了View的一些基礎知識和概念,本節開始介紹很重要

原创 第四章-View的工作原理(MeasureSpec、LayoutParams)

主要介紹一下View的工作原理,還有自定義View的實現方法,在Android知識體系中,View是一個很重要的角色,簡單來說,View是Android中視覺的呈現。在界面上Android提供了一套完整的GUI庫,裏面有很多控件

原创 第十章-Android的消息機制(MessageQueue、Looper、Handler)

一、消息隊列的工作原理 消息隊列在Android中指的是MessageQueue,MessageQueue主要包含兩個操作:插入和讀取。讀取操作本身會伴隨着刪除操作,插入和讀取對應的方法分別爲enqueueMessage和next

原创 第十章-Android的消息機制(ThreadLocal工作原理)

一、ThreadLocal用途簡介及示例 上述的兩種方法都是有侷限性的。第一種方法的問題是當函數調用棧很深的時候,通過函數參數來傳遞監聽器對象這幾乎是不可接受的,這會讓程序設計看起來很糟糕。第二種是可以接受,但是這種狀態是不具

原创 SpringBoot學習筆記15-SpringBoot 程序打包部署

一、SpringBoot 程序war包部署(可以部署在外部的tomcat中) 創建一個新的Module來測試驗證 06-springboot-war 1、 程序入口類需擴展繼承 SpringBootServletInitializ

原创 SpringBoot學習筆記14-SpringBoot 非web應用程序、關閉logo圖標日誌輸出

在 Spring Boot 框架中,要創建一個非Web應用程序(純Java程序): 1、創建一個單獨的Module : 05-springboot-java(不要選擇Web) 2、編寫UserService和UserServic

原创 第八章-Window的創建過程

1、Activity的Window創建過程 要分析Activity的Window創建過程就必須瞭解activity的啓動過程,詳細的過程在後面分析,大概瞭解即可。Activity的啓動過程很複雜,最終會由ActivityT

原创 第九章-四大組件的工作過程(Activity的啓動過程-基於Android9.0源碼)

四大組件的運行狀態 一、Activity的工作過程 Activity作爲很重要的一個組件,其內部工作過程系統做了很多的封裝,這使得啓動一個Activity變得異常簡單。在顯示調用的情況下,只需要通過如下代碼即可完成:

原创 第八章-理解Window和WindowManager(內部機制)

關於第六章(Drawable)和第七章(動畫)的說明: 第六章主要講解Android的一些Drawable,並不涉及到一些原理方面的知識。只需要實際開發的過程中查閱相關的資料即可。 第七章主要講解Android的一些動畫實現。我在

原创 SpringBoot第一個工程創建(開發工具Idea)

使用Idea來構建我們第一個Springboot工程 Idea版本:IntelliJ IDEA 2019.2.4 (Community Edition) 這裏我們有兩種創建Spring Boot項目的方法。 一、在線創建項目 訪問

原创 Android實現水印背景功能(不是通過旋轉canvas實現)

通過創建一個Drawable,設置成頁面的背景。 大概的思路:R.android.id.content拿到佈局Layout,然後添加一個FrameLayout背景有水印的View到佈局文件中。 代碼如下(Android9.0上測試

原创 第九章-四大組件的工作過程(Service的工作過程-基於Android8.1源碼)

我們將介紹Service的啓動過程和綁定過程,在分析Service的工作過程之前,我們先來了解一下如何使用Service。Service分爲兩種工作狀態,一種是啓動狀態,主要用於執行後臺計算;另一種是綁定狀態,主要用於其他組件和S

原创 SpringBoot學習筆記11-SpringBoot 中使用 Servlet

可以通過2中方式實現: 方式一,通過註解方式實現; 1、使用Servlet3的註解方式編寫一個Servlet 創建servlet包 編寫MyServlet package com.springboot.web.servlet;

原创 SpringBoot學習筆記12-SpringBoot 中使用 Filter

通過2種方式實現 方式一,通過註解方式實現; 1、編寫一個Servlet3的註解過濾器; 創建一個filter包。 package com.springboot.web.filter; import javax.servlet.