原创 Handler解析

Handler,Looper,MessageQueue之間的關係 Handler需要綁定一個Looper,而Looper持有一個MessageQueue成員變量,在初始化成員變量時Handler會拿到一個Looper對象和MessageQ

原创 Fragment和BottomNavigationview實現導航佈局

思路分析 實現導航欄有很多思路,一種比較簡單的方法是使用 Fragment 和 BottomNavigationView 實現 Activity 作爲 Fragment 的宿主 BottomNavigationview 作爲底部 tab

原创 Pandas快速學習

pandas的數據結構 pandas的數據結構是構建在 numpy 的基礎上的,pandas 的數據結構可以分爲三個級別,低級別的數據結構可以看成是高級別的的數據結構的元素,可以這樣理解,最低級別的數據結構是一維數組,第二個級別的數據結構

原创 2019-4-17 English learn

Keeping a moderate diet 保持適度的飲食 Engaging in regular exercise 參加定期的鍛鍊 what effect does your personality have on your lo

原创 2019-4-16 English learn

生詞 The brain is a seemingly endless library,whose shelves house[動詞存放] our most precious memories as well as our lifetim

原创 2019-3-6:英語學習

生詞 Her flat shoes were unacceptable 她的 平底鞋 是不可接受的 temporary receptionist / temp supervisor 臨時接待員 / 臨時上級 She was sent ho

原创 Canvas學習筆記[持續更新]

Canvas clipOutPath(Path path),clipOutRect() 裁剪掉指定的path部分,對兩個部分做減法(difference) protected void onDraw(Canvas canvas) {

原创 Java輸入輸出

筆記 以數據流的數據單元劃分可分爲字節流,既最小的數據單元的是字節,在Java中用InputStream和OutputStream來抽象和描述,字符流,既最小的數據單元是字符,用Reader和Writer來描述. InputStre

原创 使用線程池創建線程

使用線程池創建線程的好處 阿里巴巴Java規約推薦使用線程池來創建線程而不是顯式的創建線程,使用線程池來創建線程有如下好處 重用線程池中的線程,避免因爲線程的創建和銷燬所帶來的性能開銷. 線程是輕量級的進程,雖然創建和銷燬的開銷比進程小

原创 2019-3-7-英語學習

生詞 Teacher burnout [ˈbɜ:naʊt] and student stress may be linked 教師的疲倦可能和學生的壓力可能是相關聯的 Researchers collected saliva [səˈla

原创 二維圖形變換的數學基礎

平移 將點由 $(x,y)$ 變化爲 $(x’,y’)$ ,即$(x+T_x,y+T_y)$ ,用齊次座標表示爲 比例變換 將點 $(x,y)$ 相對於點 $O$ 沿 $x$ 方向縮放$S_x$ 倍,沿$y$ 方向縮放$S_y$ 倍,即變

原创 2019-3-25-英語學習

生詞 particularly in countries with long agrarian tradition 尤其是有長時間耕地傳統的國家 genetically modified foods 轉基因食物 the genetic g

原创 Handler機制中的消息隊列

學習自蘑菇街大佬 Handler機制可以看成是一個消息阻塞隊列,當有消息時立即處理消息,沒有消息時則阻塞.在Android系統中APP啓動後很快進入死循環,不斷讀取MessageQueue中的消息,有消息則立即處理,沒有消息則阻塞.And

原创 理論上可行的重寫okhttp的response的方法

記錄一種理論上可行的重寫okhttp的response的方法 有這樣一個需求 要求的json是這樣的結構 { "data": {}, "errorCode": 0, "errorMsg": "" } 但實際上是

原创 反射學習(二)

反射學習一 對成員的訪問 訪問字段 通過反射獲取到的字段使用Field類表示,Field類提供了一系列的方法來訪問基礎數據類型,如getInt(),getBoolean() Field field = testClass.getFiel