# 师傅带徒弟学Kotlin|第5篇:用Kotlin手搓一个QQ2006聊天工具
导读
你是否也曾怀念过QQ 2006那个年代?简洁的界面、流畅的闪烁头像、那句熟悉的"嘀嘀嘀"消息提示音——那是互联网社交最纯粹的时期。如今,我们尝试用Kotlin重新打造一款致敬经典的聊天工具,这不仅仅是一次怀旧之旅,更是一场真正的项目实战。
本系列课程以"师傅带徒弟"的方式,手把手带你从零开始构建一个完整的即时通讯系统。第5篇作为项目实战的第二篇,将带领你完成从需求分析到数据库搭建的完整链路,让你在实践中深刻理解Kotlin后端开发的工程化思维。
学什么
本篇课程从系统分析与设计入手,首先帮助你建立全局视角,理解一个即时通讯产品需要覆盖哪些核心功能模块。随后进入需求分析环节,拆解用户注册登录、消息收发、好友列表、在线状态等关键功能点,并绘制原型草图,让抽象的需求转化为可视化的交互逻辑。
紧接着是数据库设计阶段。你将学习如何设计用户表、好友关系表、消息记录表等核心数据模型,掌握关系型数据库的规范化设计与反规范化权衡。配合网络拓扑图的绘制,理解客户端与服务端的通信架构,为后续的代码实现打下坚实基础。
数据库层面的实践同样扎实。课程详细演示MySQL的安装与配置过程,从零搭建服务器端数据环境;编写完整的DDL建表脚本,创建各类数据表;并插入初始测试数据,确保后续开发过程中有可用素材。每一步都有明确的视频指引,即使是初次接触MySQL的学习者也能跟上节奏。
最后进入项目初始化环节,完成Kotlin项目的搭建与基础配置,为后续编写业务代码做好准备。
为什么值得学
与纯语法教学不同,本课程始终围绕一个真实可运行的项目展开。通过完整经历从需求分析到数据库落地的全过程,你将体会到软件工程的核心方法:如何把一个模糊的想法拆解为可执行的任务,如何在动手之前先想清楚架构,如何用合理的数据模型支撑复杂的功能。
如果你正在寻找一套能够真正提升实战能力的Kotlin课程,本篇内容不容错过。让我们从经典出发,用现代技术重温那段属于聊天的黄金时代。
课程目录
1-1 [系统分析与设计] 29.1.1 项目概述 (04:07) 1-2 [系统分析与设计] 29.1.2 需求分析 (09:33) 1-3 [系统分析与设计] 29.1.3 原型设计 (02:32) 1-4 [系统分析与设计] 29.1.4 数据库设计 (04:42) 1-5 [系统分析与设计] 29.1.5 网络拓扑图 (04:16) 1-6 [系统分析与设计] 29.1.6 系统设计 (03:16) 2-1 [创建服务器端数据库] 29.2.1 迭代1.1:安装和配置MySQL数据库 (23:47) 2-2 [创建服务器端数据库] 29.2.2 迭代1.2:编写数据库DDL脚本 (03:01) 2-3 [创建服务器端数据库] 29.2.3 迭代1.3:插入初始数据到数据库 (05:19) 3-1 [初始化项目] 29.3.1 任务2.1:配置项目 (03:29) 3-2 [初始化项目] 29.3.2 任务2.2:添加资源图片 (01:54) 3-3 [初始化项目] 29.3.3 任务2.3:添加包 (02:41) 4-1 [编写服务器端外围代码] 29.4.1 迭代3.1:创建数据表类 (03:13) 4-2 [编写服务器端外围代码] 29.4.2 任务3.2:编写UserDAO类 (12:55) 4-3 [编写服务器端外围代码] 29.4.3 任务3.3:编写ClientInfo类 (03:46) 5-1 [客户端UI实现] 29.5.1 迭代4.1:登录窗口实现 (31:02) 5-2 [客户端UI实现] 29.5.2 迭代4.2:好友列表窗口实现 (36:50) 5-3 [客户端UI实现] 29.5.3 迭代4.3:聊天窗口实现 (24:02) 6-1 [用户登录过程实现] 29.6.1 迭代5.1:客户端启动 (09:10) 6-2 [用户登录过程实现] 29.6.2 迭代5.2:客户端登录编程 (21:33) 6-3 [用户登录过程实现] 29.6.3 迭代5.3:服务器启动 (05:46) 6-4 [用户登录过程实现] 29.6.4 迭代5.4:服务器验证编程 (28:11) 7-1 [刷新好友列表] 29.7.1 迭代6.1:刷新好友列表服务器端编程 (08:57) 7-2 [刷新好友列表] 29.7.2 迭代6.2:刷新好友列表客户端编程 (27:04) 8-1 [聊天过程实现] 29.8.1 迭代7.1:客户端用户1向用户3发送消息 (09:56) 8-2 [聊天过程实现] 29.8.2 迭代7.2:服务器接收用户1消息与转发给用户3 (05:03) 8-3 [聊天过程实现] 29.8.3 迭代7.3:客户端用户3接收用户1消息 (06:47) 9-1 [用户下线] 29.9.1 迭代8.1:客户端编程 (05:28) 9-2 [用户下线] 29.9.2 迭代8.2:服务器端编程 (04:48)





