原创 從inotify機制說到FileObserver實現原理

有些情況下,我們難免需要監控一些文件的變化情況,這該如何實現呢?自然而然的我們會想要利用一個線程,每個一段時間便去看看文件的情況,這種方式本質上就是基於時間調度的輪訓.雖然能夠實現我們的需求,但是這種方式只適合文件經常變化的情況,

原创 深入分析PMS服務(一)

在前面兩篇自己動手編譯最新Android源碼及自己動手調試Android源碼中,我們掌握了Android源碼的編譯以及調試,現在呢,我們在這基礎上分析一些源碼的實現.首先從PMS服務開始. PMS服務即PackageManager

原创 求職與面試(一):Android必備

2019年的冬天有點冷,一份基礎面試題送給還在奮鬥在Android領域的同學. Android基礎問題 Activity&View系列 簡述Android的佈局分類? 早期Android官方提供以下五種佈局: LinearLa

原创 一個程序員的日常書單(更新於2018/10/7)

今日元宵節,祝各位節日快樂. 本想談談讀書這個話題,想來想起覺得無從下手,就此作罷.畢業這幾年,一直不敢放鬆,在現代這個互聯網時代更加認同蕭掄謂的"一日不讀書,胸臆無佳想;一月不讀書,耳目失清爽".如果非要給自己找個讀書的理由的話

原创 深入理解Dalvik字節碼指令及Smali文件

今天來介紹有關Dalvik虛擬機相關的知識,首先便是介紹我們最關心的Dalvik字節碼相關知識,進而深入到Android逆向領域.之所以寫這篇文章,是因爲有姑娘要學習這,再加上網上的許多資料太過零散和片面,當然,更重要的是爲以前做

原创 從類關係說起

溫故知新,最近更多的是研究和開發各種類庫,對設計的是有些感觸.以前在大學的時候,雖然知道,但是總歸是欠缺經驗的,現在,我嘗試用最通俗易懂的方式說出來. 所謂的設計不正是採用恰當的方式組織雷類關係麼?因此談設計我認爲首先要從類之間的

原创 Retrofit響應數據及異常處理策略

今天我們來談談客戶端對通訊協議的處理,主要分爲三部分:約定響應數據格式,響應數據的自動映射以及錯誤處理三部分。由於數據協議採用json的居多,因此我們在此基礎上進行說明。 約定響應數據格式 協議格式 通常來說,你拿到的設計文檔中會

原创 觀戰Retrofit開發中的哪點事

又是一年中秋佳節,祝各位中秋節快樂。 今天我們來聊聊這個最近很火的網絡請求庫retrofit,在此基礎上會延伸出一些列的知識點。現在關於retrofit的文章很多,我之所以寫這篇文章的原因在於:8月份負責假設新客戶端底層的過程中首

原创 https是如何工作的?

最近在看到這麼一篇講解Https原理的文章,語言精煉,通俗易懂,特地將其翻譯下,原文在此how does https work 加密算法簡介 正文開始之前,我先來解釋簡單的解釋下對稱加密和非對稱加密. 對稱加密採用對稱密碼編碼技

原创 Retrofit中如何正確的使用https?

很多文章對客戶端https的使用都是很模糊的,不但如此,有些開發者直接從網上拷貝一些使用https的“漏洞”代碼,無形之中讓客戶端處在一種高風險的情況下。 今天我們就對有關https使用的問題進行深入的探討,希望能解決以往的困惑。

原创 Retrofit實現持久化Cookie的三種方案

在上一文中,我們提到retrofit 2.0中如何實現非持久化cookie的兩種方案,但並未做過深的解釋。 現在我們重點關注JavaNetCookieJar實現非持久化cookie背後的原理。 話不多說,步入正題。 非持久化C

原创 自己動手調試Android源碼

在自己動手編譯Android最新源碼一文中,我們爲自己編譯了一份最新的Android源碼.很多時候,我們編譯源碼的目的不僅僅是嘗試一番,而是希望對其進行調試,並修改源碼,看看其中一些關鍵機制的運行原理.比如你對AMS掌握不深,那麼

原创 Android Studio代碼調試大全

Android Studio目前已經成爲開發Android的主要工具,用熟了可謂相當順手。作爲開發者,調試並發現bug,進而解決,可是我們的看家本領。正所謂,工慾善其事必先利其器,和其他開發工具一樣,如Eclipse、Idea,A

原创 (心態篇)空杯心態,一個程序員的自我修煉

原計劃端午假期回家清靜一下,反思這半年的得與失,但是因爲自己的失誤導致沒趕上回家的高鐵,此外,最近心態有些欺負,今日午後昏睡中覺醒,腦海中只有”空杯心態”這四個字 禪師與我 夢迴遠古,我是一個佛學造詣很深的人,聽說某個寺廟有位德

原创 淺淡ISP

什麼是接口隔離? 接口做作爲面向抽象編程中的一環,有無可替代的地位。那麼,什麼樣的接口設計纔算是好的設計,或者說如何設計一個好的接口? 就接口的設計而言,我認爲”接口隔離(簡稱ISP)”原則已經足夠.現在我們重新來回憶下: Cl