8.2 KiB
Android APK 功能演示指南
🎬 演示准备
环境检查
# 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智能助手(本地)
操作步骤:
- 点击"💬 AI智能助手(本地)"按钮
- 等待界面加载
- 输入测试问题
测试用例:
输入:你好
预期:问候回复
输入:帮助
预期:功能列表
输入:如何借书
预期:借书指南
输入:推荐图书
预期:推荐信息
演示要点:
- 实时响应(< 1秒)
- 意图识别准确
- 消息带时间戳
- 自动滚动到最新消息
3. AI智能搜索
操作步骤:
- 返回主界面(按返回键)
- 点击"🔍 AI智能搜索"按钮
- 输入搜索关键词
测试用例:
搜索:Python
预期:显示Python相关图书
搜索:Java
预期:显示Java相关图书
搜索:数据结构
预期:显示相关图书
演示要点:
- 关键词提取
- 搜索结果格式化
- 图书信息完整
4. AI个性化推荐
操作步骤:
- 返回主界面
- 点击"💡 AI个性化推荐"按钮
- 等待自动加载推荐
演示要点:
- 自动加载推荐
- 至少3本图书
- 包含推荐理由
- 可以刷新
5. 查看系统UML图
操作步骤:
- 返回主界面
- 点击"📊 查看系统UML图"按钮
- 浏览UML图类型列表
- 点击某个图表类型查看详情
演示要点:
- 多种UML图类型
- 详细信息展示
- 清晰的说明文字
6. UML图生成器 ⭐ 新功能
操作步骤:
- 返回主界面
- 点击"🎨 UML图生成器(在线)"按钮
- 查看示例代码
- 选择服务器(PlantUML官方)
- 点击"生成图表"
测试用例1:使用示例代码
@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:简单序列图
@startuml
Alice -> Bob: Hello
Bob -> Alice: Hi there!
@enduml
演示要点:
- 实时生成(< 10秒)
- 图片清晰显示
- 支持双服务器
- 自动故障转移
- 友好的错误提示
7. 增强AI助手(需要网络)
注意:此功能需要网络连接
操作步骤:
- 返回主界面
- 点击"🚀 增强AI助手(真实AI+语音)"按钮
- 选择AI提供商(DeepSeek或智谱AI)
- 输入问题测试
测试用例:
输入:介绍一下智能图书馆系统
预期:AI生成详细介绍
输入:推荐几本编程书籍
预期:AI推荐书籍列表
演示要点:
- 真实AI响应
- 响应质量高
- 支持多个AI平台
- 可切换提供商
语音功能(仅真实设备):
- 🎤 语音输入
- 🔊 语音播报
🎯 演示重点
核心亮点
-
完整的离线功能
- 本地AI助手
- Mock数据生成
- 智能搜索和推荐
-
在线增强功能
- 真实AI对话
- UML图生成 ⭐
- 语音交互
-
用户体验
- 界面美观
- 响应迅速
- 错误提示友好
-
技术架构
- 分层架构设计
- 单例模式
- 异步处理
- 故障转移
技术特色
-
双服务器保障
- PlantUML官方服务器
- Kroki备用服务器
- 自动故障转移
-
多AI平台支持
- DeepSeek
- 智谱AI
- 本地Mock
-
完善的错误处理
- 网络错误提示
- 输入验证
- 友好的用户反馈
📊 性能指标
响应时间
- 本地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:应用无响应
处理:
# 重启应用
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类,在应用首次启动时自动生成。包括图书、用户和借阅记录,数据都是随机但合理的。
📚 参考资料
-
项目文档:
-
技术参考:
- 分层架构HelloWorldAndroid版AI问答系统
- Android Developer官方文档
- OkHttp文档
演示准备完成!祝演示顺利! 🎉