原创 Kotlin使用關鍵字reified優化Retrofit2

 問題場景: retrofit大家都很熟悉.創建使用大概如下. (1) 定義接口請求類 interface RetrofitService { @GET("/posts") fun getPosts(): Deferre

原创 Kotlin + AndroidX + Tablayout + ViewPager + Fragment 實現Tab切頁

1.前沿 Google已經受夠了V4,V7包的各種衝突.所以直接不再維護V4,V7包了.以後就統一使用AndroidX. 2.gradle配置: 除了原有的androidX的庫,還需要使用material庫 dependencies {

原创 RxJava全家桶--Rxjava源碼分析

前沿 RxJava現在應用範圍很廣,可以和retrofit,okhttp結合實現網絡請求,可以和GreenDao結合實現數據庫功能,也能應用開發框架MVP,MVVM有很好的兼容性,這個也符合現在的大環境和很火熱的概念,叫做生態。 一.Rx

原创 仿miui應用啓動和切換效果

利用的是view切換模擬window動畫,動畫其實不是小米實現的難點,難點是各種這樣的切換場景邏輯支持。github下載地址:https://github.com/ThinkJarvis/MIUIAnimation

原创 MPAndroidChart之LineChart源碼分析

LineChart比PieChart邏輯簡單,主要技術點就是雙指縮放邏輯。     1 數據準備 1.1 折線數據 1.1.1 座標點對象Entry 參照構造函數,有兩個參數:x,y對應橫座標和縱座標的值。 1.1.2 數據1對象/數據2

原创 Android Launcher7.0首次數據加載邏輯

     Launcher3簡介   Laucnher3採用mv模式。 數據層爲LauncherModel,採用異步加載方式讀寫數據。界面層爲Launcher (1~7     )       準備工作 (8~12   )      工作

原创 Android7.0Launcher3Folder加載流程

    Launcher3界面中比較複雜的UI就是folder了。3個與之相關的類就是FolderIcon.java, Folder.java, FolderInfo.java,FolderPageView.java。大致思路就是mv模式

原创 Android 7.0Settings加載主界面流程

新人一枚,沒有整機環境,有什麼寫的不對歡迎批評指正,萬分感謝! Settings主界面加載時序圖(這裏很多判斷邏輯我省略掉了。更多的是想把加載主界面流程跑通。) 這張流程圖將主fragment DashboardSummar

原创 MPAndroidChart之PieChart源碼分析

目前自己的項目用到圖表。去github上看到MPAndroidChart很受歡迎,就下載下來了用了,隨着項目的迭代,有些本身不具備的需求就來了。所以就花時間看了一下他的代碼。非常感謝幾個同事的幫忙。   根據時序圖我把這個PieChart

原创 android WallpaperPicker7.0源碼分析

1簡介 Wallpaper裏面有兩個Activity:WallpaperCropActivity(進入界面的步驟:打開圖庫,點擊設置爲壁紙),WallpaperPickerActivity(進入界面的步驟:(1)長按桌面空白處,點擊壁紙;

原创 greenrobot/EventBus3.0使用及源碼分析

簡介EventBus通過更少的代碼和更高的質量爲Android和Java提供的事件總線簡化了活動,片段,線程,服務等之間的通信正如EventBus website官網形容的那樣:(1)簡化組件間的通信(2)解耦事件發送器和接收器(3)使用

原创 仿IOS下載動畫

下載地址:https://github.com/ThinkJarvis/Download有賬號的小夥伴們幫忙Star一下!