项目介绍:stream-draw-android
项目概述
Stream Draw 是一个由 Jetpack Compose 完全构建的实时多人绘画与聊天游戏应用程序。玩家可以邀请朋友一起画画和猜词,是一款以休闲娱乐为目的的互动游戏。该项目的灵感来源于大家熟悉的 Skribbl.io,提供一种新颖且直观的社交娱乐方式。
应用预览
玩家可以在游戏中使用草图绘制工具与好友进行实时互动,界面设计符合现代用户界面标准,并能够快速响应用户的操作。
下载地址
最新版本的 APK 可以在 stream-draw-android 的 GitHub Releases 页面获取和下载。
Stream Chat SDK
Stream Draw 采用了 Android Chat SDK 来实现应用中的消息系统。这一 SDK 强大且易于集成,帮助开发者轻松实现应用内通信。如果你希望在你的应用中增加强大的 In-App Messaging 功能,可以参考 Android Chat Messaging 的相关教程。
技术栈与开源库
- 最低 SDK 要求:21。
- 完全基于 Jetpack Compose 开发,同时采用了 Kotlin 协程和 Flow 技术来处理异步任务。
- Jetpack 组件:
- Compose:用于构建原生 UI 的现代化工具包。
- Lifecycle、ViewModel 和 App Startup 等。
- 依赖注入:通过 Hilt 实现。
- 绘画库:使用 sketchbook-compose,让用户可以在画布上绘制路径和图像。
- 图片加载:landscapist 库支持从网络获取和显示图片。
- 网络与数据:结合 Retrofit2 和 OkHttp3 构建 REST APIs。
- JSON 处理:采用 Moshi 库。
- 粒子动画:使用 Konfetti 让庆祝动画更轻量级。
- 日志工具:Timber 提供了简洁且可扩展的日志记录 API。
可用功能
- 支持亮色和暗色主题。
- 创建与加入组频道。
- 提供主持模式和访客模式。
- 欢迎与退出消息提示。
- 从网络获取单词列表。
- 实时绘图与聊天功能。
- 实时显示连接用户的列表。
- 猜词及相应的庆祝动画。
- 提供主持人的消息通知及实时聊天对话框。
- 允许主持人重启游戏,退出及删除频道。
- 以及更多基于 Stream Chat SDK for Android 的附加功能。
待办事项
- 可用频道列表。
- 游戏轮次。
- 时间限制。
贡献指南
任何人都可以通过改进代码、文档等方式为此项目做出贡献,详情请参阅贡献指南。
游戏截图
Stream Draw 提供了多样的界面展示,包括游戏中的绘图界面和聊天对话框,用户界面直观,易于操作。
评分
Stream Draw 的 MAD 评分显示了其高效的应用部署和用户体验,同时我们将持续优化和改善项目。
如你对这个项目感兴趣,欢迎在 GitHub 上关注我们的创作者,支持我们未来的更多创作!