原创 設計模式學習 - 抽象工廠模式

抽象工廠模式介紹 抽象工廠模式(Abstract Factory Pattern),也是創建型設計模式之一。抽象工廠模式源於以前對不同操作系統的圖形化操作方案,對於每一個操作系統,其本身構成一個產品類,而文本和按鈕控件也構成一個產

原创 生活隨記1

注:這日記本來是想在11月4號發博客的,結果因爲在有道雲筆記寫完後感覺有點晚了就沒有馬上上傳到博客上,再加上上星期有點小忙,所以導致到今天才發博客,待會也會順便把上星期的補上 時間:2018年11月4號 周次:大二上學期第9周 感

原创 Android之9.0Activity啓動流程(一)

注:下列源碼均基於9.0,可通過下列方式下載本文相關源碼到本地: git clone https://aosp.tuna.tsinghua.edu.cn/platform/packages/apps/Launcher3 git

原创 Android之Binder機制

1. 簡介 Binder,中文即粘合劑,意思是粘合了兩個不同的進程。從IPC角度來說,Binder是Android中的一種跨進程通信方式。 2. 基礎概念介紹 2.1 進程隔離&跨進程通信 進程隔離:爲了保證安全性和獨立性,一般

原创 Android自定義View-簡約風歌詞控件

前言 最近重構了之前的音樂播放器,添加了許多功能,比如歌詞,下載功能等。這篇文章就讓我們聊聊歌詞控件的實現(歌詞控件也已經開源,地址也在文章底部),先上效果圖,如果感覺海星,就繼續瞧下去! 看到這裏,估計你對這個控件還有點感興趣

原创 Android之9.0Activity啓動流程(二)

注:下列源碼均基於9.0,可通過下列方式下載本文相關源碼到本地: git clone https://aosp.tuna.tsinghua.edu.cn/platform/frameworks/base 參考博客:如何下載和

原创 ijkplayer的編譯和使用

前言 ijkplayer是一個基於FFmpeg的輕量級Android/iOS視頻播放器。是一個很優秀的庫,但是如果要使用它並不是那麼的簡單。首先要對ijkplayer進行編譯後才能使用。因此下面將分享自己從編譯到使用的整個過程,如

原创 2019最新QQ音樂Api

下面的請求中如果參數有songmid,都是得經過搜索歌曲或歌手後才能獲得songmid,然後進行請求。不能獲取到qq音樂的vip或者付費歌曲的播放地址,Api是通過fiddler4爬取網頁端qq音樂獲取的,如失效,請在評論指出

原创 Android之NDK開發入門

注意:本文操作環境爲mac,Android Studio版本3.5 前言 NDK全稱Native Development Kit,是Android的一個工具開發包,能夠快速開發C,C++的動態庫,並自動將so和應用打包成APK

原创 View的工作原理

文章中出現的源碼均基於8.0 一、知識儲備 1. ViewGroup.LayoutParams 作用: 指定View的高度(height)和寬度(width)等佈局參數,用來子視圖向父視圖傳達自己意願的一個東西 具體使用:

原创 OkHttp 3.14.x 源碼解析-攔截器

本文OkHttp源碼基於3.14.x,版本下載地址:okHttp 3.14.x 前言 上一篇文章OkHttp 3.14.x 源碼解析-執行流程我們分析了OKHttp的整體執行流程,也從中提到了OKHttp會調用各攔截器來獲取響

原创 MD5算法全解析

前言 這段時間剛好正在做軟件安全的實驗和課設,學習了各種加密算法,比如對稱加密算法的DES,AES;非對稱加密算法的RSA,再如今天要講的主角-單向加密算法的MD5。爲什麼這麼多算法,MD5成爲了今天的豬腳呢?,這是因爲個人感覺在

原创 Java集合之HashMap 1.8 源碼解析

本文源碼基於HashMap 1.8,下載地址:Java 8 另外本文不分析紅黑樹相關的源碼 前言 在對HashMap進行源碼解析前,我們很有必要搞清楚下面這幾個名詞,這對於下文的閱讀有很大的幫助。 哈希表:這裏指的就是Has

原创 OkHttp 3.14.x 源碼解析-執行流程

本文OkHttp源碼基於3.14.x,版本下載地址:okHttp 3.14.x 前言 OkHttp是一個非常優秀的網絡請求框架,使用方便,操作簡單,並且目前比較流行的Retrofit也是默認使用OkHttp。因此從源碼深入理解

原创 JVM之垃圾收集器

1、概述 垃圾收集器(Garbage Collection),大部分我們都喜歡稱之爲GC。GC的職責主要圍繞三個問題: 哪些內存需要回收 什麼時候回收 如何回收 在Java中GC是系統自動完成的,並且在Java中GC只關注Ja