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.
|
|
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+
安装步骤
-
克隆项目
git clone <repository-url> cd myapplication -
导入Android Studio
- 打开Android Studio
- 选择 "Open an existing Android Studio project"
- 选择项目根目录
-
配置依赖
- 等待Gradle同步完成
- 确保所有依赖正确下载
-
运行应用
- 连接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
邮件发送失败
- 确认邮箱配置正确
- 检查网络连接
- 验证邮箱授权码
数据库问题
- 清除应用数据重新安装
- 检查数据库版本兼容性
📄 许可证
本项目仅供学习和演示使用。
🤝 贡献指南
- Fork 项目
- 创建功能分支
- 提交更改
- 推送到分支
- 创建 Pull Request
📞 联系方式
如有问题或建议,请通过项目issue系统提交。
注意: 此项目为示例应用,生产环境使用前请进行充分的安全审计和测试。