🛍️ 一个完全开源免费且功能完善的 Android 电商项目

作为一名 Android 开发爱好者,我在学习 Jetpack Compose 的过程中发现其生态仍有完善空间,因此开发了「青商城」项目。该项目是一个功能完整的电商应用,专为国内开发环境设计,核心电商业务流程已全面完成并可正常使用。项目旨在为社区提供实用的 Compose 代码参考,帮助开发者快速掌握现代 Android 开发技术,同时也能对我所学的知识进行巩固和分享。

🌟 项目亮点

  • 100% Kotlin 开发:全面拥抱现代语言特性
  • Jetpack Compose UI:声明式 UI 框架,开发效率显著提升
  • 模块化架构:参考 Google 官方 Now in Android 最佳实践
  • 完整电商功能:涵盖用户认证、商品展示、购物车、支付、订单等
  • 现代化技术栈:Hilt、Coroutines、Flow、Room 等主流技术
  • 开源学习:提供完整的接口文档和代码参考,适合学习现代 Android 开发

整体架构参考了 Google 官方的 Now in Android 项目,采用当前主流技术栈实现。项目核心电商功能已全面完成,包括:

  • 完整的用户认证体系
  • 商品展示与搜索分类系统
  • 购物车管理与订单支付流程
  • 订单管理与物流跟踪
  • 收货地址管理与用户足迹
  • 在线客服与反馈系统
  • 基础营销功能

整体电商业务流程完整可用,仅用户资料设置等少数辅助功能待完善(具体状态可查看项目中的功能模块目录)。

这个项目凝聚了我半年多业余时间的全部心血,从代码实现到 UI 设计再到动画效果,都力求打造流畅生动的用户体验。希望能为开发者提供有价值的参考,同时我也提供了完整的接口文档,期待大家的建议与反馈,共同学习进步。

如果项目对您有帮助,请给个 Star 支持 ⭐ 这对我来说很重要,能给我带来长期更新维护的动力!

📱 项目预览

💡 说明:由于功能模块较多,截图不下,这里仅展示部分界面,可下载体验完整功能。

青商城动画演示1 青商城动画演示2 青商城动画演示3 青商城动画演示4 青商城动画演示5
青商城动画演示6 青商城动画演示8 青商城动画演示9 青商城动画演示10

☀️ 浅色模式

青商城应用浅色模式预览1

青商城应用浅色模式预览2

青商城应用浅色模式预览3

青商城应用浅色模式预览4

青商城应用浅色模式预览5

🌙 深色模式

青商城应用深色模式预览1

青商城应用深色模式预览2

青商城应用深色模式预览3

青商城应用深色模式预览4

青商城应用深色模式预览5

📍 项目地址

Demo 下载

  • Release 版本(推荐 4MB)点击下载体验

    • 为日常使用和体验优化的稳定版本,具有最佳性能和体积。
  • Debug 版本(开发者 19MB)点击下载体验

    • 注意:Debug 版本的包名带有 .debug 后缀,与 Release 版本不同,可以共存安装。
    • 内置工具:集成了 LeakCanary(内存泄漏检测)和 Chucker(网络请求监控)等调试工具。
    • 性能与体积:由于开启了调试功能且未进行代码压缩,此版本性能低于 Release 版本,且 APK 体积更大。
    • 快捷访问:长按桌面图标可快速访问 Leaks(内存泄漏)和 Open Chucker(网络监控)。为确保能接收到 Chucker 的实时网络请求通知,建议开启应用的通知权限。
  • 支持系统:Android 8.0 及以上

  • 更新说明:预览版本会不定时更新,可能不会完全同步最新的代码变更

🛠️ 技术选型

项目采用了当前 Android 开发的主流技术栈:

核心技术

类别 技术选型 版本号 说明
编程语言 Kotlin 2.2.10 100% Kotlin 开发
UI 框架 Jetpack Compose 2025.08.01 声明式 UI 框架
架构模式 MVVM + Clean Architecture - MVVM + Clean 架构
依赖注入 Hilt 2.57.1 基于 Dagger 的依赖注入框架
异步处理 Coroutines + Flow 1.9.0 协程 + Flow 响应式编程

功能模块

类别 技术选型 版本号 说明
导航 Navigation Compose 2.9.3 Compose 导航组件
数据序列化 Kotlinx Serialization 1.9.0 JSON 序列化处理
网络请求 Retrofit + OkHttp 3.0.0 + 5.1.0 HTTP 客户端
图片加载 Coil Compose 2.7.0 图片加载与缓存
动画效果 Lottie Compose 6.6.7 After Effects 动画
权限管理 XXPermissions 26.5 动态权限申请

数据存储

类别 技术选型 版本号 说明
数据库 Room 2.7.2 SQLite 数据库
本地存储 MMKV 2.2.3 高性能键值存储

架构设计

项目采用模块化架构,参考 Google 官方的 Now in Android 最佳实践:

├── app/                   # 应用入口模块
├── build-logic/          # 构建逻辑
├── core/                 # 核心模块
│   ├── common/           # 通用工具和扩展
│   ├── data/             # 数据层
│   ├── database/         # 数据库
│   ├── datastore/        # 数据存储
│   ├── designsystem/     # 设计系统
│   ├── model/            # 数据模型
│   ├── network/          # 网络层
│   ├── result/           # 结果处理
│   ├── ui/               # UI组件
│   └── util/             # 工具类
├── feature/              # 功能模块
│   ├── auth/             # 认证模块
│   ├── common/           # 公共模块
│   ├── cs/               # 客服模块
│   ├── feedback/         # 反馈模块
│   ├── goods/            # 商品模块
│   ├── launch/           # 启动模块
│   ├── main/             # 主模块
│   ├── market/           # 营销模块
│   ├── order/            # 订单模块
│   └── user/             # 用户模块
└── navigation/           # 导航模块

模块化的优势:

  • 🔧 职责分离:降低模块间耦合,提高代码可维护性
  • 👥 并行开发:支持团队协作,提升开发效率
  • 增量编译:显著提升构建速度,优化开发体验
  • 🧪 便于测试:模块化设计便于单元测试和功能验证

功能模块目录

注:文档更新可能略滞后于代码开发进度,最新状态请查看项目中的 README.md 文件。

状态说明:

  • 已完成 - 功能页面已完整实现并可以正常使用
  • 待完善 - 功能页面基本实现,但还需要进一步优化和完善
  • 待优化 - 功能页面已实现,但需要性能优化或体验优化
  • 仅页面 - 只完成了页面UI,功能逻辑尚未实现
  • 待开发 - 功能页面尚未开发,陆续实现中
  • 主模块 (main)

    • 首页 (home) 已完成
    • 分类 (category) 已完成
    • 购物车 (cart) 已完成
    • 我的 (me) 已完成
  • 认证模块 (auth)

    • 登录主页 (login) 已完成
    • 账号密码登录 (account-login) 已完成
    • 注册页面 (register) 已完成
    • 找回密码 (reset-password) 仅页面
    • 短信登录 (sms-login) 已完成
  • 用户体系模块 (user)

    • 个人中心 (profile) 仅页面
    • 收货地址列表 (address-list) 已完成
    • 收货地址详情 (address-detail) 已完成
    • 用户足迹 (footprint) 已完成
  • 订单模块 (order)

    • 订单列表 (list) 已完成
    • 确认订单 (confirm) 已完成
    • 订单详情 (detail) 已完成
    • 订单支付 (pay) 已完成
    • 退款申请 (refund) 已完成
    • 订单评价 (comment) 已完成
    • 订单物流 (logistics) 已完成
  • 商品模块 (goods)

    • 商品搜索 (search) 已完成
    • 商品详情 (detail) 已完成
    • 商品评价 (comment) 已完成
    • 商品分类页面 (category) 已完成
  • 营销模块 (market)

    • 优惠券管理 (coupon) 待完善
  • 客服模块 (cs)

    • 客服聊天 (chat) 待完善
  • 反馈模块 (feedback)

    • 反馈列表 (list) 已完成
    • 提交反馈 (submit) 已完成
  • 通用模块 (common)

    • 关于我们 (about) 仅页面
    • WebView 页面 (web) 已完成
    • 应用设置 (settings) 仅页面
  • 启动流程模块 (launch)

    • 启动页 (splash) 已完成
    • 引导页 (guide) 已完成

🤝 参与贡献

欢迎所有对 Android 开发感兴趣的朋友参与项目贡献!

  • 🐛 Bug 反馈:发现问题请提交 Issue
  • 💡 功能建议:有好的想法欢迎讨论
  • 🔧 代码贡献:提交 Pull Request 改进项目
  • 📖 文档完善:帮助改进项目文档

如果这个项目对你有帮助,请不要忘记给个 ⭐ Star 支持一下!这对我来说意义重大,也是我持续更新的动力源泉。

让我们一起在 Android 开发的道路上不断学习、共同进步! 🚀

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐