You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
wangguobin f504f5e539
添加模型
10 hours ago
doc 第三次修改 1 day ago
model 添加模型 10 hours ago
work 第二次修改 3 days ago
README.md 第三次修改 1 day ago

README.md

广理客栈 (Guangli Inn)

一个基于Android的校园 marketplace 应用,提供商品交易、社交互动和校园生活服务。

📱 功能特性

🔐 用户系统

  • 用户注册与登录
  • 密码找回(邮箱验证)
  • 会话管理
  • 密码强度检测

🛍️ 商品市场

  • 商品浏览与搜索
  • 商品发布与管理
  • 商品详情查看
  • 价格排序与筛选
  • 商品删除功能

💬 社交功能

  • 校园动态墙
  • 实时聊天系统
  • 评论互动
  • 消息列表管理
  • 对话历史记录

用户体验

  • 加载动画与进度提示
  • 响应式设计
  • 错误处理与用户反馈
  • Material Design界面

🛠️ 技术栈

核心框架

  • 语言: Java 11
  • 平台: Android SDK 36
  • 构建工具: Gradle with Kotlin DSL

主要依赖

  • UI: Material Design Components
  • 布局: ConstraintLayout, RecyclerView, CardView
  • 数据库: SQLite with custom Repository模式
  • 网络: 基础HTTP权限
  • 邮件: JavaMail API (Android版)

第三方库

- androidx.appcompat: 1.6.1
- material: 1.11.0
- recyclerview: 1.3.2
- cardview: 1.0.0
- com.sun.mail: android-mail: 1.6.7
- com.sun.mail: android-activation: 1.6.7

📁 项目结构

app/src/main/java/com/example/myapplication/
├── Activities/           # 界面控制器
│   ├── MainActivity.java         # 登录界面
│   ├── RegisterActivity.java     # 注册界面
│   ├── HomeActivity.java         # 主页
│   ├── ProductListActivity.java  # 商品列表
│   ├── AddProductActivity.java   # 发布商品
│   ├── ProductDetailActivity.java# 商品详情
│   ├── ChatActivity.java         # 聊天界面
│   ├── MessageListActivity.java  # 消息列表
│   ├── CampusWallActivity.java   # 校园动态
│   ├── CreatePostActivity.java   # 发布动态
│   └── PostDetailActivity.java   # 动态详情
│
├── Models/               # 数据模型
│   ├── Product.java
│   ├── Message.java
│   ├── Comment.java
│   ├── Post.java
│   └── UserRepository.java
│
├── Repositories/        # 数据访问层
│   ├── ProductRepository.java
│   ├── MessageRepository.java
│   ├── PostRepository.java
│   └── DBHelper.java
│
├── Adapters/            # 列表适配器
│   ├── ProductAdapter.java
│   ├── MessageAdapter.java
│   ├── CommentAdapter.java
│   ├── PostAdapter.java
│   ├── MessageListAdapter.java
│   └── ConversationListAdapter.java
│
├── Utils/               # 工具类
│   ├── SessionManager.java
│   ├── MailUtil.java
│   ├── PasswordUtil.java
│   ├── PasswordStrength.java
│   ├── LoadingManager.java
│   ├── LoadingDialog.java
│   └── Config.java
│
└── Base/               # 基础组件
    └── BaseActivity.java

🚀 快速开始

环境要求

  • Android Studio Arctic Fox 或更高版本
  • JDK 11
  • Android SDK 36 (API Level 24+)
  • Gradle 7.0+

安装步骤

  1. 克隆项目

    git clone <repository-url>
    cd myapplication
    
  2. 导入Android Studio

    • 打开Android Studio
    • 选择 "Open an existing Android Studio project"
    • 选择项目根目录
  3. 配置依赖

    • 等待Gradle同步完成
    • 确保所有依赖正确下载
  4. 运行应用

    • 连接Android设备或启动模拟器
    • 点击运行按钮或按 Shift+F10

构建APK

# Debug版本
./gradlew assembleDebug

# Release版本
./gradlew assembleRelease

🔧 配置说明

邮箱配置 (重要)

Config.java 中配置邮件服务:

public static final String EMAIL_HOST = "smtp.qq.com";
public static final String EMAIL_PORT = "465";
public static final String EMAIL_USERNAME = "your-email@qq.com";
public static final String EMAIL_PASSWORD = "your-app-password";

安全提醒: 生产环境中应将敏感信息移至安全的配置文件或服务器端。

📊 数据库设计

应用使用SQLite数据库主要表结构

  • users: 用户信息
  • products: 商品信息
  • messages: 聊天消息
  • posts: 校园动态
  • comments: 评论信息

数据库操作通过Repository模式统一管理。

🧪 测试

运行测试

# 单元测试
./gradlew test

# 集成测试
./gradlew connectedAndroidTest

测试覆盖

  • 用户注册测试
  • 密码找回测试
  • 商品操作测试
  • 消息功能测试

📱 界面预览

主要界面包括:

  • 登录/注册界面
  • 主页面
  • 商品列表与详情
  • 聊天界面
  • 校园动态墙

🔒 安全特性

  • 密码加密存储
  • 会话管理
  • 邮箱验证
  • 输入验证
  • 错误处理

🐛 常见问题

构建失败

  • 检查Gradle版本兼容性
  • 清理并重建项目: ./gradlew clean build

邮件发送失败

  • 确认邮箱配置正确
  • 检查网络连接
  • 验证邮箱授权码

数据库问题

  • 清除应用数据重新安装
  • 检查数据库版本兼容性

📄 许可证

本项目仅供学习和演示使用。

🤝 贡献指南

  1. Fork 项目
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request

📞 联系方式

如有问题或建议请通过项目issue系统提交。


注意: 此项目为示例应用,生产环境使用前请进行充分的安全审计和测试。