班級規(guī)模及環(huán)境--熱線:4008699035 手機:15921673576( 微信同號) |
每個班級的人數(shù)限3到5人,互動授課, 保障效果,小班授課。 |
上間和地點 |
上部份地點:【上海】同濟大學(滬西)/新城金郡商務樓(11號線白銀路站)【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學成教院【北京分部】:北京中山學院/福鑫大樓【南京分部】:金港大廈(和燕路)【武漢分部】:佳源大廈(高新二路)【成都分部】:領館區(qū)1號(中和大道)【沈陽分部】:沈陽理工大學/六宅臻品【鄭州分部】:鄭州大學/錦華大廈【石家莊分部】:河北科技大學/瑞景大廈 最近開間(周末班/連續(xù)班/晚班):2019年1月26日 |
實驗設備 |
◆小班教學,教學效果好 ☆注重質量☆邊講邊練 ☆合格學員免費推薦工作 ★實驗設備請點擊這兒查看★ |
質量保障 |
1、培訓過程中,如有部分內容理解不透或消化不好,可免費在以后培訓班中重聽; 2、培訓結束后,授課老師留給學員聯(lián)系方式,保障培訓效果,免費提供課后技術支持。 3、培訓合格學員可享受免費推薦就業(yè)機會。☆合格學員免費頒發(fā)相關工程師等資格證書,提升職業(yè)資質。專注高端技術培訓15年,端海學員的能力得到大家的認同,受到用人單位的廣泛贊譽,端海的證書受到廣泛認可。 |
部份程大綱 |
|
- 第1章 課程介紹
本章主要介紹課程安排,以及開發(fā)環(huán)境的配置.如無Kotlin基礎,可以學習老師的另一門課程:https://coding.imooc.com/class/108.html
- 1-1 課前必讀
1-2 課程學習指南
1-3 課程簡介
第2章
本章主要完成一個基于擴展方法、Lambda 表達式和運算符 Boolean 的擴展、 以及基于屬性代理的 SharedPreferences 和 Properties 的擴展,一方面為課程的后續(xù)內容做鋪墊,另一方面也幫助學院能夠快速進入狀態(tài)。
- 2-1 項目初始化
2-2 Boolean擴展
2-3 SharedPreferences 擴展
2-4 Properties擴展
2-5 本章小結
第3章 Mvp 框架的開發(fā)
本章主要運用泛型和反射的知識開發(fā)一個基于運行時反射獲取泛型實參來完成 View與Presenter 綁定以及實例注入的框架,對比 Java 反射以及 Kotlin 反射在 Kotlin 當中的運用,同時對泛型的型變作進一步深入的講解。
- 3-1 Mvp 框架介紹
3-2 Mvp 框架接口定義
3-3 Mvp 接口的抽象實現(xiàn)
3-4 獲取泛型實參實例化 Presenter_1
3-5 Java 反射版本以及生命周期調用
3-6 BaseActivity 實現(xiàn)
3-7 泛型型變回顧
3-8 本章小結
第4章 登錄模塊及頁面的開發(fā)
本章主要梳理 GitHub Api 的鑒權流程,完成登錄頁面的開發(fā)。其中涉及到使用 Kotlin-android-extensions 來簡化 findViewById 的操作以及 Parcelable 接口實現(xiàn)的模板代碼,使用 Retrofit 處理網(wǎng)絡請求,并完成第一次對 RxJavaCallAdapter 的定制以支持對 RxJava 中 observeOn 的通用配置。...
- 4-1 GitHub API 使用入門
4-2 登錄流程
4-3 添加 GitHub 登錄相關接口
4-4 開發(fā)登錄鑒權攔截器
4-5 開發(fā)賬號管理模塊
4-6 開發(fā)登錄頁面
4-7 登錄演示及開發(fā)環(huán)境用戶名密碼配置
4-8 使用 KAE 合成 View及存在的問題
4-9 使用 Anko 簡化我們的代碼
4-10 定制 RxJavaCallAdapter 添加默認的 Scheduler
4-11 本章小結
第5章 使用 Anko Dsl 布局關于頁面
本章重點講解如何使用 Anko Dsl 編寫布局,其中包括如何支持第三方 View 和 ViewGroup,DSL 布局與 XML 布局的性能對比,兩種布局方案在各個方面的對比和使用建議。本章最后也仿照 Anko Dsl 從零開始開發(fā)一套 Dsl 的布局框架,并介紹 Dsl 中涉及到的隱式 Receiver 的問題以及 DslMarker 注解的使用。...
- 5-1 本章概述
5-2 搭建主頁面
5-3 使用 Anko Dsl 布局關于頁面
5-4 預覽 Anko Dsl 布局
5-5 在 DSL 中使用主題
5-6 如何支持自定義
5-7 如何支持自定義 ViewGroup
5-8 DSL 與 XML 性能對比
5-9 DSL 還是 XML
5-10 自己動手寫 DSL 布局框架
5-11 使用@DslMarker
5-12 自己動手寫 DSL 布局框架 II
5-13 本章小結
第6章 通用列表及分頁的解決方案
本章主要對 GitHub 的接口分頁進行分析和調研,并以此再次對 RxJavaCallAdapter 做定制和擴展,完成對 GitHub 接口分頁的通用支持;梳理了 Gson 的對象實例化流程,分析了在數(shù)據(jù)類中使用 lazy 導致的空指針的問題的原因;同時也對 FragmentPagerAdapter 不能正常清空數(shù)據(jù)的問題做了分析和解決。...
- 6-1 本章概述
6-2 GitHub 接口分頁調研
6-3 RxJavaCallAdapter 的執(zhí)行流程
6-4 實現(xiàn)分頁類型 GitHubPaging
6-5 添加對 GitHubPaging 的支持
6-6 在數(shù)據(jù)類中使用 Lazy
6-7 開發(fā)通用分頁的數(shù)據(jù)模塊
6-8 開發(fā)通用列表頁面-1
6-9 開發(fā)通用列表頁面-2
6-10 完成倉庫列表頁
6-11 為列表添加 Tab
6-12 根據(jù)登錄狀態(tài)更新 Tab 及列表
6-13 解決 ViewPager 數(shù)據(jù)刷新的問題
6-14 本章小結
第7章 倉庫詳情頁面的開發(fā)
本章中實現(xiàn)了 GitHub App 的晝夜模式切換,開發(fā)了支持頭像與 ActionBar 聯(lián)動的 Behavior,處理了對 5.0 以下的版本的兼容性問題,分別完成了仿 QQ 和 微信的聊天頁面右滑返回上一頁的效果,除此之外,還運用屬性代理開發(fā)了 ObjectPropertyDelegate 這個框架優(yōu)化代碼。...
- 7-1 本章概述
7-2 主題配色方案
7-3 實現(xiàn)夜間模式
7-4 開發(fā)通用 DetailItem
7-5 開發(fā)倉庫詳情頁面
7-6 Behavior: 頭像與 ActionBar 聯(lián)動
7-7 Android 4.4 兼容性問題解決
7-8 實現(xiàn)仿 QQ 右滑返回
7-9 實現(xiàn)仿微信右滑返回
7-10 小結
第8章 Retrofit 的原理及 RetroApollo 的實現(xiàn)
GraphQL Api 相比 RESTFul Api 有更靈活更穩(wěn)健的特點,本章主要涉及認識和使用 GraphQL 來請求 GitHub Api。在深入剖析 Retrofit 的原理之后,參考 Retrofit 開發(fā) RetroApollo 框架來簡化請求操作,這其中涉及到了對注解、泛型和反射知識的靈活運用。...
- 8-1 GraphQL 簡介
8-2 GraphQL 初體驗
8-3 接入 GraphQL 框架 Apollo-Android
8-4 接入 RetroApollo-Android 框架
8-5 RetroApollo 動態(tài)代理處理請求
8-6 RetroApollo 解析注解和泛型返回值
8-7 RetroApollo 返回類型適配
8-8 RetroApollo 適配 RxJava
8-9 本章小結
第9章 使用協(xié)程重構我們的代碼
本章主要闡述協(xié)程的概念,分析 suspend 函數(shù)的原理,用實例講解了官方協(xié)程框架的使用方法,開發(fā)一個 Golang 風格的 Deferred 擴展,實現(xiàn)一個協(xié)程風格的對話框擴展,最后從零開始使用標準庫的協(xié)程 Api 來帶著大家開發(fā)一個高仿官方協(xié)程框架的簡化版本,完成包括啟動協(xié)程、線程調度、協(xié)程等待等功能,讓學員真正了解 ...
- 9-1 協(xié)程的基本概念
9-2 協(xié)程框架的使用-1
9-3 協(xié)程框架的使用-2
9-4 協(xié)程框架的使用-3
9-5 Android 的第一行協(xié)程代碼
9-6 協(xié)程風格的對話框實現(xiàn)
9-7 為 RetroApollo 添加協(xié)程支持
9-8 實現(xiàn)自己的協(xié)程框架 - 協(xié)程的基本實現(xiàn)
9-9 實現(xiàn)自己的協(xié)程框架 - 線程調度
9-10 實現(xiàn)自己的協(xié)程框架- Delay
9-11 實現(xiàn)自己的協(xié)程框架- runBlocking
9-12 實現(xiàn)自己的協(xié)程框架- Deferred
|