1. 程式人生 > >帶後臺的IM即時通訊App 全程MVP手把手打造

帶後臺的IM即時通訊App 全程MVP手把手打造

第1章 課程專案整體概述
簡單介紹課程適應人群以及主要的實現方案和課程的分節說明;除此之外展示APP使用效果同時瞭解IM相關協議並對比現有的IM實現方案。當然現如今IM已經不是一個APP而是一個SDK,趨近於嵌入到任何APP中使用;這也是IM推送聊天技術的主要使用場景。...
1-1 課程概述
1-2 入門須知
1-3 IM四大協議
1-4 實現方案與選型

第2章 推送和儲存平臺準備
這一章是推送方案的基礎,在本章中選取了第三方平臺以及檔案儲存平臺。推送平臺負責訊息的送達,而OSS儲存服務負責資原始檔的儲存與訪問工作。
2-1 第三方平臺對比選型及注意事項
2-2 推送平臺相關配置工作
2-3 OSS儲存相關配置工作

第3章 專案前後端專案搭建與準備
這是專案的基礎章節;在本章中講解了專案的匯入注意事項,讓同學們無憂匯入到開發中。同時就使用到的必須控制元件和類進行抽取和封裝;當然在專案開始之初將帶領代價嘗試使用MVP開發的流程。
3-1 伺服器端程式碼匯入與介紹
3-2 新建專案與資料庫配置
3-3 完成第一個Restful介面
3-4 客戶端程式碼介紹與匯入指南
3-5 客戶端封裝Activity和Fragment-1
3-6 客戶端封裝Activity和Fragment-2
3-7 客戶端封裝Recycler-1
3-8 客戶端封裝Recycler-2
3-9 初次體驗MVP模式開發

第4章 客戶端基礎模組封裝
在本章節中講解了主介面的搭建以及圖片選擇,預覽等功能的封裝;當然圖片的應用需要網路支援,所以在最後實現了圖片上傳到OSS的相關實現。
4-1 主介面搭建外層封裝-1
4-2 主介面搭建外層封裝-2
4-3 主介面搭建外層封裝-3
4-4 主介面搭建外層封裝-4
4-5 主介面搭建外層封裝-5
4-6 主介面底部導航欄封裝-1
4-7 主介面底部導航欄封裝-2
4-8 主介面底部導航欄封裝-3
4-9 主介面底部導航欄封裝-4
4-10 主介面底部導航欄封裝-5
4-11 主介面底部導航欄封裝-6
4-12 圖片選擇器功能實現-1
4-13 圖片選擇器功能實現-2
4-14 圖片選擇器功能實現-3
4-15 圖片選擇器功能實現-4
4-16 圖片剪下功能實現-1
4-17 圖片剪下功能實現-2
4-18 圖片剪下功能實現-3
4-19 圖片剪下功能實現-4
4-20 圖片剪下功能實現-5
4-21 圖片上傳功能實現-1
4-22 圖片上傳功能實現-2
4-23 圖片上傳功能實現-3
4-24 圖片上傳功能實現-4
4-25 圖片上傳功能實現-5
4-26 圖片上傳功能實現-6
4-27 圖片上傳功能實現-7
4-28 圖片上傳功能實現-8
4-29 圖片上傳功能實現-9

第5章 專案資料庫模型設計
一切的業務操作最終都將反映到資料模型的關係上;本章是重點也是一個難點!在本章中我們能學到資料庫模型的所有設計與關係;知曉使用者、群組、訊息之間的相互關係;並且領略Code先行的樂趣。
5-1 使用者資訊模型設計
5-2 人與人的關係設計-1
5-3 人與人的關係設計-2
5-4 訊息的模型設計
5-5 使用者和訊息的關係
5-6 群組模型設計
5-7 使用者-群組-訊息的關係設計
5-8 訊息歷史與申請表設計

第6章 使用者模組的開發
本章將首先帶大家實現服務端註冊,登入和更新使用者資訊的API編寫,然後帶大家實現APP端註冊,登入和更新使用者資訊的功能,讓大家充分掌握使用者模組的整體開發
6-1 後臺註冊介面編寫-1
6-2 後臺註冊介面編寫-2
6-3 後臺註冊介面編寫-3
6-4 後臺註冊介面編寫-4
6-5 後臺登入介面編寫-1
6-6 後臺登入介面編寫-2
6-7 後臺登入介面編寫-3
6-8 後臺登入介面編寫-4
6-9 後臺登入介面編寫-5
6-10 後臺更新使用者資訊介面編寫-1
6-11 後臺更新使用者資訊介面編寫-2
6-12 客戶端註冊功能實現-1
6-13 客戶端註冊功能實現-2
6-14 客戶端註冊功能實現-3
6-15 客戶端註冊功能實現-4
6-16 客戶端註冊功能實現-5
6-17 客戶端註冊功能實現-6
6-18 客戶端註冊功能實現-7
6-19 客戶端註冊功能實現-8
6-20 客戶端註冊功能實現-9
6-21 客戶端註冊功能實現-10
6-22 客戶端登入功能實現-1
6-23 客戶端登入功能實現-2
6-24 客戶端登入功能實現-3
6-25 客戶端登入功能實現-4
6-26 客戶端登入功能實現-5
6-27 客戶端登入功能實現-6
6-28 客戶端登入功能實現-7
6-29 客戶端登入功能實現-8
6-30 客戶端使用者資訊完善功能實現-1
6-31 客戶端使用者資訊完善功能實現-2
6-32 客戶端使用者資訊完善功能實現-3
6-33 客戶端使用者資訊完善功能實現-4
6-34 客戶端使用者資訊完善功能實現-5
6-35 客戶端使用者資訊完善功能實現-6
6-36 客戶端使用者資訊完善功能實現-7

第7章 好友新增與管理功能實現
在本章節中我們通過搜尋介面入口實現了搜尋人功能,同時基於之上實現了關注以及好友列表的功能;與此同時我們實現了對使用者資訊的檢視,方便好友新增等功能之間的銜接。
7-1 伺服器聯絡人和關注人介面實現-1
7-2 伺服器聯絡人和關注人介面實現-2
7-3 伺服器聯絡人和關注人介面實現-1
7-4 伺服器聯絡人和關注人介面實現-2
7-5 伺服器搜尋人和使用者資訊介面實現-1
7-6 伺服器搜尋人和使用者資訊介面實現-2
7-7 客戶端實現搜尋人功能-1
7-8 客戶端實現搜尋人功能-2
7-9 客戶端實現搜尋人功能-1
7-10 客戶端實現搜尋人功能-2
7-11 客戶端實現搜尋人功能
7-12 客戶端實現新增聯絡人功能
7-13 客戶端實現聯絡人列表功能
7-14 客戶端實現聯絡人列表功能
7-15 客戶端實現聯絡人列表功能-1
7-16 客戶端實現聯絡人列表功能-2
7-17 客戶端實現聯絡人列表功能-3
7-18 客戶端實現個人資訊介面-1
7-19 客戶端實現個人資訊介面-2

第8章 客戶端資料操作難點與解決方案
本章既是重點也是難點;一個好的APP有一整套完整的訊息流程;而我們的所有操作都是基於資料庫的操作,所以有必要對資料庫進行訊息封裝,避免多餘的查詢消耗,優化體驗。
8-1 淺析資料流封裝的難點與必要性
8-2 客戶端資料流封裝-統一的寫入-1
8-3 客戶端資料流封裝-統一的寫入-2
8-4 客戶端資料流封裝-統一的寫入-3
8-5 客戶端資料流封裝-統一的寫入-1
8-6 客戶端資料流封裝-統一的寫入-2
8-7 客戶端資料流封裝-統一通知-1
8-8 客戶端資料流封裝-統一通知-2
8-9 客戶端資料流封裝-統一通知-1
8-10 客戶端資料流封裝-統一通知-2
8-11 客戶端資料流封裝-統一通知-1
8-12 客戶端資料流封裝-統一通知-2
8-13 客戶端資料流封裝 -統一通知-1
8-14 客戶端資料流封裝- 統一通知-2
8-15 -客戶端資料流封裝-統一通知-1
8-16 -客戶端資料流封裝-統一通知-2
8-17 資料流封裝-推送訊息處理-1
8-18 資料流封裝-推送訊息處理-2
8-19 資料流封裝-推送訊息處理

第9章 聊天之單聊功能開發
聊天的本質是資料的傳輸。在本章中我們講解伺服器所需的介面實現以及客戶端中訊息傳送佇列的封裝;當然在本章中還將系統性的學習訊息分發流程,以及執行緒排程與協作的相關知識點。是非常值得認真學習與思考的章節。
9-1 伺服器新增訊息傳送介面-1
9-2 伺服器新增訊息傳送介面-2
9-3 伺服器新增訊息傳送介面-推送測試
9-4 伺服器新增訊息傳送介面-新增介面-1
9-5 伺服器新增訊息傳送介面-新增介面-2
9-6 伺服器對訊息推送與未讀訊息的封裝-1
9-7 伺服器對訊息推送與未讀訊息的封裝-2
9-8 手機端聊天佈局實現-1
9-9 手機端聊天佈局實現-2
9-10 手機端聊天佈局實現-1
9-11 手機端聊天佈局實現-2
9-12 手機端聊天佈局實現-3
9-13 手機端聊天佈局實現-4
9-14 手機端聊天佈局實現-5
9-15 客戶端獨立Cell模組實現-1
9-16 客戶端獨立Cell模組實現-2
9-17 客戶端獨立Cell模組實現-3
9-18 客戶端獨立Cell模組實現-4
9-19 客戶端傳送訊息功能實現-1
9-20 客戶端傳送訊息功能實現-2
9-21 客戶端傳送訊息功能實現-3
9-22 客戶端傳送訊息功能實現-4
9-23 客戶端傳送訊息功能實現-5
9-24 客戶端傳送訊息功能實現-6
9-25 客戶端傳送訊息功能實現-7
9-26 客戶端傳送訊息功能實現-8
9-27 客戶端本地最近會話功能實現-1
9-28 客戶端本地最近會話功能實現-2
9-29 客戶端本地最近會話功能實現-3
9-30 客戶端本地最近會話功能實現-4

第10章 群組聊天之準備事項
好友能聊天了,那麼群組該如何實現呢?本章是群組聊天的基礎,有了群組資訊與與群組管理等功能才能有群組聊天。在本章中著重講解了群組功能與個人之間的關係以及客戶端與伺服器的實現;包括:新增群,新增群,更改群資訊等功能的實現。...
10-1 伺服器群組相關介面引入與介紹-1
10-2 伺服器群組相關介面引入與介紹-2
10-3 實現群組主要介面-新增群-1
10-4 實現群組主要介面-新增群-2
10-5 實現群組主要介面-搜尋、列表、群資訊-1
10-6 實現群組主要介面-搜尋、列表、群資訊-2
10-7 實現拉取群成員和新增群成員的介面-1
10-8 實現拉取群成員和新增群成員的介面-2
10-9 完善伺服器推送的模組-1
10-10 完善伺服器推送的模組-2
10-11 手機端建立群介面實現-介面佈局-1
10-12 手機端建立群介面實現-介面佈局-2
10-13 手機端建立群介面實現-載入可選人-1
10-14 手機端建立群介面實現-載入可選人-2
10-15 手機端建立群介面實現-完善新建邏輯-1
10-16 手機端建立群介面實現-完善新建邏輯-2
10-17 手機端搜尋群功能實現-1
10-18 手機端搜尋群功能實現-2
10-19 手機端我的群組功能實現-主體流程-1
10-20 手機端我的群組功能實現-主體流程-2
10-21 手機端我的群組功能實現-群成員資訊-1
10-22 手機端我的群組功能實現-群成員資訊-2

第11章 群組聊天之傳送訊息
群訊息傳送得益於伺服器的訊息分發功能;在本章中我們基於聊天的基礎實現完善了群聊天介面,並且實現了群訊息傳送與接收並消費的整個流程。同時在本章節中我們完成了對群成員的管理介面實現。
11-1 群組與個人聊天介面複用性調整-1
11-2 群組與個人聊天介面複用性調整-2
11-3 完善群組聊天的所有邏輯-完善介面-1
11-4 完善群組聊天的所有邏輯-完善介面-2
11-5 完善群組聊天的所有邏輯-完善邏輯
11-6 群組成員列表介面完成-1
11-7 群組成員列表介面完成-2
11-8 聊天介面底部面板顯示切換功能實現-1
11-9 聊天介面底部面板顯示切換功能實現-2

第12章 聊天擴充套件之傳送表情
表情是聊天的一個要素,也是聊天的一個重要組成部分。純文字上有著表情的支援將更加豐富多彩。在本章中可以學習到:1.表情基本協議定製;2.表情的基礎分發;3.表情的動態解析。
12-1 表情解決方案與專案資源匯入
12-2 表情盤基礎介面元件搭建-1
12-3 表情盤基礎介面元件搭建-2
12-4 表情盤佈局及表情資源解析顯示-1
12-5 表情盤佈局及表情資源解析顯示-2
12-6 表情盤佈局及表情資源解析顯示
12-7 表情解析並顯示的解決方案-1
12-8 表情解析並顯示的解決方案-2

第13章 聊天擴充套件之傳送圖片
在本章中講解了圖片在聊天中的運用;最主要的是其中的圖片壓縮方案;伺服器資源有限,只能通過優秀的壓縮方案來緩解伺服器壓力與流量壓力。
13-1 圖片面板及聊天介面Cell完成-1
13-2 圖片面板及聊天介面Cell完成-2
13-3 圖片上傳伺服器與圖片壓縮實現-1
13-4 圖片上傳伺服器與圖片壓縮實現-2

第14章 聊天擴充套件之語音聊天
語音是一個點綴。但聊天有了語音後將與眾不同,方便的資訊交流方式才是重點。在本章中將重點講解語音的錄製-壓縮與轉碼-寫入檔案-上傳伺服器-解析播放的相關知識點。
14-1 語音錄製的介紹及面板的實現
14-2 語音聊天傳送與列表顯示實現
14-3 語音下載與播放的排程實現-1
14-4 語音下載與播放的排程實現-2
14-5 語音下載與播放的排程實現

第15章 慕聊IM專案總結
總結整個IM應用使用的相關技術點,資料模型設計,介面佈局注意事項,群組模型與使用者模型關係。群組訊息消費,訊息分發,訊息流管理的相關知識點。同時對一些希望學習的知識點進行暢想:Socket.IO/ Websocket。
15-1 專案相關知識點總結
15-2 專案完善與展望-1
15-3 專案完善與展望-2

下載地址:帶後臺的IM即時通訊App 全程MVP手把手打造