原创 Flutter週末速成

官方地址:介紹了安裝步驟、簡單用法、Demo演示,看完官方文檔基本可以上手 Install Steps Get The Flutter SDK Run Flutter Doctor Update your Path Platform S

原创 Fragment(基礎的用法,不涉及到Fragment原理)

Fragment的優點:有生命週期的概念、可以作爲View使用 生命週期、使用方式、hide、show、attach、detach、remove、add、replace作用: 我們可以把Fragment當成Activity界面的一個組成部

原创 Android基礎-面試寶典

Android各個佈局異同: LinearLayout按照垂直和水平順序依次排列子元素,儘量少用layout_weight(子元素佔用剩餘空間的大小比例),會導致二次測量;FrameLayout所有子元素都疊放在左上角;RelativeL

原创 事件分發(基礎理論)-附帶自定義View

推薦一篇事件分發好文章:https://mp.weixin.qq.com/s/5zrZOVQlV6LAOgpD9DF35g // Activity public boolean dispatchTouchEvent(MotionEven

原创 Android屏幕適配(基礎理論)

dpi : dots per inch dp : density-independent pixel 1dp = (dpi / 160)px 總結一下:一英寸規定是160dp,那麼1dp應該等於多少像素呢,決定於一英寸有多少像素(dpi)

原创 Dagger2原理(用法全集)

Dagger是一個依賴注入框架,通過編譯時註解處理和輔助代碼自動生成邏輯,可以高效輔助程序開發 Android引入Dagger2,一般在base模塊通過api來引用 dependencies { api 'com.google.da

原创 從零搭建中臺項目

狀態機、信令系統 最開始設計了學生列表模塊,但發現後期無法擴展,目前所有信息都通過接口返回 客戶端設計:core模塊依賴各個子模塊的實現層和接口層,屏蔽各個功能模塊的實現,只對外暴露接口(通過implementation、api實現);功

原创 下拉刷新原理(用到的基礎理論)

下拉刷新佈局主要包含Loading視圖、主體視圖 如果下拉刷新佈局包的是CoordinatorLayout,一般用AppBarLayout的偏移來控制是否開始下拉刷新,是否開始下拉刷新操作,由上層來控制 override fun isR

原创 Kotlin知識點大全(歡迎評論補充)

Kotlin是一門全棧語言,自動拆裝箱、空類型安全、不支持隱式轉換、支持Lambda表達式、支持方法擴展、支持函數式編程 Kotlin數據類型 Boolean Byte-1 Short-2 Int-4 Long-8 Float-4 Dou

原创 字節碼工具

Java變量內部名字:java/lang/String、boolean(Z)、long(J)、int(I) 方法簽名:void a(int i, float f)   —>  (IF)V ASM提供兩組API:Core和Tree,Core

原创 輸入法原理

Question1:客戶端如何與輸入法產生聯繫 首先我們要明確的是輸入法就是一個Service,無論是百度輸入法還是搜狗輸入法,都繼承自系統提供的InputMethodService類 再說一下我們如何在App中主動調起輸入法,其中,In

原创 微銷機器人

反編譯工具:Smali、Baksmali、apktool(基於Smali和Baksmali)、dex2jar、jadx、jd-gui java -jar ./apktool.jar d ./wechat.apk 回編譯遇到的問題:And

原创 ButterKnife(已過時)

一、ButterKnife(代碼注入框架)的註冊與綁定 在Activity中綁定 :ButterKnife.bind(this)必須在setContentView之後綁定,且父類bind綁定後,子類不需要再bind public cla

原创 OKHttp原理(線程池、攔截器鏈、連接池、緩存管理、連接複用、連接清理規則)

網絡庫比較:HttpClient代碼擴展性差,已經廢棄;HttpUrlConnection是一個輕量級的http客戶端,從4.4開始,底層實現採用okHttp,okHttp是一個高性能的http庫,支持ip切換、url重試、線程管理、緩存

原创 Fragment(最基礎的用法,不涉及到Fragment原理)

Fragment的優點:有生命週期的概念、可以作爲View使用 生命週期、使用方式、hide、show、attach、detach、remove、add、replace作用: 我們可以把Fragment當成Activity界面的一個組成部