|
|
# Android APK 功能演示指南
|
|
|
|
|
|
## 🎬 演示准备
|
|
|
|
|
|
### 环境检查
|
|
|
```bash
|
|
|
# 1. 检查模拟器状态
|
|
|
adb devices
|
|
|
|
|
|
# 2. 确认应用已安装
|
|
|
adb shell pm list packages | findstr "com.smartlibrary"
|
|
|
|
|
|
# 3. 启动应用
|
|
|
adb shell am start -n com.smartlibrary/.android.MainActivity
|
|
|
```
|
|
|
|
|
|
### 当前状态
|
|
|
✅ 模拟器已启动:`emulator-5554`
|
|
|
✅ APK已安装:`com.smartlibrary`
|
|
|
✅ 应用已运行:`MainActivity`
|
|
|
|
|
|
## 📱 功能演示流程
|
|
|
|
|
|
### 1. 主界面展示 (已完成 ✅)
|
|
|
|
|
|
**展示内容**:
|
|
|
- 应用标题:"智能图书管理系统 (SLMS)"
|
|
|
- 系统统计信息
|
|
|
- 图书列表(前10本)
|
|
|
- 当前借阅记录
|
|
|
- AI功能按钮区域
|
|
|
|
|
|
**演示要点**:
|
|
|
- 数据自动加载
|
|
|
- Mock数据生成
|
|
|
- 界面布局清晰
|
|
|
|
|
|
### 2. AI智能助手(本地)
|
|
|
|
|
|
**操作步骤**:
|
|
|
1. 点击"💬 AI智能助手(本地)"按钮
|
|
|
2. 等待界面加载
|
|
|
3. 输入测试问题
|
|
|
|
|
|
**测试用例**:
|
|
|
```
|
|
|
输入:你好
|
|
|
预期:问候回复
|
|
|
|
|
|
输入:帮助
|
|
|
预期:功能列表
|
|
|
|
|
|
输入:如何借书
|
|
|
预期:借书指南
|
|
|
|
|
|
输入:推荐图书
|
|
|
预期:推荐信息
|
|
|
```
|
|
|
|
|
|
**演示要点**:
|
|
|
- 实时响应(< 1秒)
|
|
|
- 意图识别准确
|
|
|
- 消息带时间戳
|
|
|
- 自动滚动到最新消息
|
|
|
|
|
|
### 3. AI智能搜索
|
|
|
|
|
|
**操作步骤**:
|
|
|
1. 返回主界面(按返回键)
|
|
|
2. 点击"🔍 AI智能搜索"按钮
|
|
|
3. 输入搜索关键词
|
|
|
|
|
|
**测试用例**:
|
|
|
```
|
|
|
搜索:Python
|
|
|
预期:显示Python相关图书
|
|
|
|
|
|
搜索:Java
|
|
|
预期:显示Java相关图书
|
|
|
|
|
|
搜索:数据结构
|
|
|
预期:显示相关图书
|
|
|
```
|
|
|
|
|
|
**演示要点**:
|
|
|
- 关键词提取
|
|
|
- 搜索结果格式化
|
|
|
- 图书信息完整
|
|
|
|
|
|
### 4. AI个性化推荐
|
|
|
|
|
|
**操作步骤**:
|
|
|
1. 返回主界面
|
|
|
2. 点击"💡 AI个性化推荐"按钮
|
|
|
3. 等待自动加载推荐
|
|
|
|
|
|
**演示要点**:
|
|
|
- 自动加载推荐
|
|
|
- 至少3本图书
|
|
|
- 包含推荐理由
|
|
|
- 可以刷新
|
|
|
|
|
|
### 5. 查看系统UML图
|
|
|
|
|
|
**操作步骤**:
|
|
|
1. 返回主界面
|
|
|
2. 点击"📊 查看系统UML图"按钮
|
|
|
3. 浏览UML图类型列表
|
|
|
4. 点击某个图表类型查看详情
|
|
|
|
|
|
**演示要点**:
|
|
|
- 多种UML图类型
|
|
|
- 详细信息展示
|
|
|
- 清晰的说明文字
|
|
|
|
|
|
### 6. UML图生成器 ⭐ 新功能
|
|
|
|
|
|
**操作步骤**:
|
|
|
1. 返回主界面
|
|
|
2. 点击"🎨 UML图生成器(在线)"按钮
|
|
|
3. 查看示例代码
|
|
|
4. 选择服务器(PlantUML官方)
|
|
|
5. 点击"生成图表"
|
|
|
|
|
|
**测试用例1:使用示例代码**
|
|
|
```plantuml
|
|
|
@startuml
|
|
|
title 智能图书馆系统类图
|
|
|
|
|
|
class Book {
|
|
|
-String id
|
|
|
-String title
|
|
|
-String author
|
|
|
-String isbn
|
|
|
+getTitle(): String
|
|
|
+getAuthor(): String
|
|
|
}
|
|
|
|
|
|
class User {
|
|
|
-String id
|
|
|
-String name
|
|
|
-String email
|
|
|
+borrowBook(Book): boolean
|
|
|
+returnBook(Book): boolean
|
|
|
}
|
|
|
|
|
|
class Loan {
|
|
|
-String id
|
|
|
-Date borrowDate
|
|
|
-Date returnDate
|
|
|
-String status
|
|
|
}
|
|
|
|
|
|
User "1" -- "*" Loan : borrows >
|
|
|
Book "1" -- "*" Loan : is borrowed in >
|
|
|
@enduml
|
|
|
```
|
|
|
|
|
|
**测试用例2:简单序列图**
|
|
|
```plantuml
|
|
|
@startuml
|
|
|
Alice -> Bob: Hello
|
|
|
Bob -> Alice: Hi there!
|
|
|
@enduml
|
|
|
```
|
|
|
|
|
|
**演示要点**:
|
|
|
- 实时生成(< 10秒)
|
|
|
- 图片清晰显示
|
|
|
- 支持双服务器
|
|
|
- 自动故障转移
|
|
|
- 友好的错误提示
|
|
|
|
|
|
### 7. 增强AI助手(需要网络)
|
|
|
|
|
|
**注意**:此功能需要网络连接
|
|
|
|
|
|
**操作步骤**:
|
|
|
1. 返回主界面
|
|
|
2. 点击"🚀 增强AI助手(真实AI+语音)"按钮
|
|
|
3. 选择AI提供商(DeepSeek或智谱AI)
|
|
|
4. 输入问题测试
|
|
|
|
|
|
**测试用例**:
|
|
|
```
|
|
|
输入:介绍一下智能图书馆系统
|
|
|
预期:AI生成详细介绍
|
|
|
|
|
|
输入:推荐几本编程书籍
|
|
|
预期:AI推荐书籍列表
|
|
|
```
|
|
|
|
|
|
**演示要点**:
|
|
|
- 真实AI响应
|
|
|
- 响应质量高
|
|
|
- 支持多个AI平台
|
|
|
- 可切换提供商
|
|
|
|
|
|
**语音功能**(仅真实设备):
|
|
|
- 🎤 语音输入
|
|
|
- 🔊 语音播报
|
|
|
|
|
|
## 🎯 演示重点
|
|
|
|
|
|
### 核心亮点
|
|
|
|
|
|
1. **完整的离线功能**
|
|
|
- 本地AI助手
|
|
|
- Mock数据生成
|
|
|
- 智能搜索和推荐
|
|
|
|
|
|
2. **在线增强功能**
|
|
|
- 真实AI对话
|
|
|
- UML图生成 ⭐
|
|
|
- 语音交互
|
|
|
|
|
|
3. **用户体验**
|
|
|
- 界面美观
|
|
|
- 响应迅速
|
|
|
- 错误提示友好
|
|
|
|
|
|
4. **技术架构**
|
|
|
- 分层架构设计
|
|
|
- 单例模式
|
|
|
- 异步处理
|
|
|
- 故障转移
|
|
|
|
|
|
### 技术特色
|
|
|
|
|
|
1. **双服务器保障**
|
|
|
- PlantUML官方服务器
|
|
|
- Kroki备用服务器
|
|
|
- 自动故障转移
|
|
|
|
|
|
2. **多AI平台支持**
|
|
|
- DeepSeek
|
|
|
- 智谱AI
|
|
|
- 本地Mock
|
|
|
|
|
|
3. **完善的错误处理**
|
|
|
- 网络错误提示
|
|
|
- 输入验证
|
|
|
- 友好的用户反馈
|
|
|
|
|
|
## 📊 性能指标
|
|
|
|
|
|
### 响应时间
|
|
|
- 本地AI:< 1秒
|
|
|
- 在线AI:< 5秒
|
|
|
- UML生成:< 10秒
|
|
|
- 搜索:< 1秒
|
|
|
|
|
|
### 资源使用
|
|
|
- 应用大小:~15MB
|
|
|
- 运行内存:< 200MB
|
|
|
- 启动时间:< 3秒
|
|
|
|
|
|
## 🎤 演示话术
|
|
|
|
|
|
### 开场
|
|
|
"大家好,今天我要演示的是智能图书馆管理系统的Android版本。这个应用集成了多种AI功能,包括智能对话、搜索推荐,以及我们新增的UML图生成功能。"
|
|
|
|
|
|
### 主界面
|
|
|
"首先看到的是主界面,这里显示了系统的统计信息,包括图书总数、借阅记录等。所有数据都是自动生成的Mock数据,方便演示和测试。"
|
|
|
|
|
|
### AI功能
|
|
|
"应用提供了多种AI功能。本地AI助手可以完全离线运行,响应速度非常快。增强AI助手则集成了DeepSeek和智谱AI,可以提供更智能的对话体验。"
|
|
|
|
|
|
### UML生成器
|
|
|
"这是我们新增的UML图生成器功能。它支持在线实时生成PlantUML图表,并且采用了双服务器架构,当一个服务器失败时会自动切换到备用服务器,确保高可用性。"
|
|
|
|
|
|
### 技术架构
|
|
|
"从技术角度来看,应用采用了分层架构设计,包括表现层、业务层、服务层和数据层。网络服务使用了单例模式,所有请求都是异步处理,不会阻塞UI线程。"
|
|
|
|
|
|
### 结尾
|
|
|
"以上就是智能图书馆管理系统Android版的主要功能演示。这个应用不仅功能完整,而且在架构设计和用户体验方面都做了很多优化。谢谢大家!"
|
|
|
|
|
|
## 🐛 常见问题处理
|
|
|
|
|
|
### 问题1:应用无响应
|
|
|
**处理**:
|
|
|
```bash
|
|
|
# 重启应用
|
|
|
adb shell am force-stop com.smartlibrary
|
|
|
adb shell am start -n com.smartlibrary/.android.MainActivity
|
|
|
```
|
|
|
|
|
|
### 问题2:网络功能失败
|
|
|
**说明**:
|
|
|
"这个功能需要网络连接。在实际使用中,应用会自动检测网络状态并给出相应提示。"
|
|
|
|
|
|
### 问题3:UML生成失败
|
|
|
**说明**:
|
|
|
"如果一个服务器失败,系统会自动切换到备用服务器。如果两个服务器都失败,会显示友好的错误提示。"
|
|
|
|
|
|
### 问题4:语音功能不可用
|
|
|
**说明**:
|
|
|
"语音功能需要在真实的Android设备上测试,因为模拟器的麦克风实现不够可靠。在真实设备上,语音识别和播报功能都能正常工作。"
|
|
|
|
|
|
## 📝 演示检查清单
|
|
|
|
|
|
### 演示前
|
|
|
- [ ] 模拟器已启动
|
|
|
- [ ] APK已安装
|
|
|
- [ ] 应用可以正常启动
|
|
|
- [ ] 网络连接正常(用于在线功能)
|
|
|
|
|
|
### 演示中
|
|
|
- [ ] 主界面展示
|
|
|
- [ ] 本地AI助手
|
|
|
- [ ] AI搜索功能
|
|
|
- [ ] AI推荐功能
|
|
|
- [ ] UML查看器
|
|
|
- [ ] UML生成器 ⭐
|
|
|
- [ ] 增强AI助手(可选)
|
|
|
|
|
|
### 演示后
|
|
|
- [ ] 回答问题
|
|
|
- [ ] 展示代码(如需要)
|
|
|
- [ ] 说明技术细节
|
|
|
|
|
|
## 🎓 技术问答准备
|
|
|
|
|
|
### Q1:为什么使用分层架构?
|
|
|
**A**:分层架构可以让代码更清晰、更易维护。每一层都有明确的职责,修改一层不会影响其他层。
|
|
|
|
|
|
### Q2:如何实现故障转移?
|
|
|
**A**:我们使用了递归重试机制。当第一个服务器失败时,自动切换到备用服务器。如果备用服务器也失败,才报告错误。
|
|
|
|
|
|
### Q3:为什么语音功能在模拟器上不可用?
|
|
|
**A**:Android模拟器的麦克风实现不够可靠,经常无法正确录制声音。这是模拟器的限制,不是应用的问题。
|
|
|
|
|
|
### Q4:如何保证网络请求不阻塞UI?
|
|
|
**A**:所有网络请求都使用OkHttp的异步API,回调在后台线程执行。UI更新通过Handler切换到主线程。
|
|
|
|
|
|
### Q5:Mock数据是如何生成的?
|
|
|
**A**:使用MockDataGenerator类,在应用首次启动时自动生成。包括图书、用户和借阅记录,数据都是随机但合理的。
|
|
|
|
|
|
## 📚 参考资料
|
|
|
|
|
|
- **项目文档**:
|
|
|
- [FEATURE_ENHANCEMENTS.md](FEATURE_ENHANCEMENTS.md)
|
|
|
- [QUICK_TEST_GUIDE.md](QUICK_TEST_GUIDE.md)
|
|
|
- [COMPLETION_SUMMARY.md](COMPLETION_SUMMARY.md)
|
|
|
|
|
|
- **技术参考**:
|
|
|
- 分层架构HelloWorldAndroid版AI问答系统
|
|
|
- Android Developer官方文档
|
|
|
- OkHttp文档
|
|
|
|
|
|
---
|
|
|
|
|
|
**演示准备完成!祝演示顺利!** 🎉
|