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.
SLMS Development Team c17c2d4b1d
完善开发文档
1 month ago
..
src/main 完善开发文档 1 month ago
AI_FEATURES.md WEB功能完善 1 month ago
COMPLETION_SUMMARY.md feat(app): Android子系统 - 只包含Android和Core模块 2 months ago
DEMO_GUIDE.md feat(app): Android子系统 - 只包含Android和Core模块 2 months ago
FEATURE_ENHANCEMENTS.md feat(app): Android子系统 - 只包含Android和Core模块 2 months ago
QUICK_TEST_GUIDE.md feat(app): Android子系统 - 只包含Android和Core模块 2 months ago
README.md feat(app): Android子系统 - 只包含Android和Core模块 2 months ago
README_ENHANCED.md feat(app): Android子系统 - 只包含Android和Core模块 2 months ago
SCAN_BORROW_GUIDE.md WEB功能完善 1 month ago
build.gradle merge: 合并四端功能到统一分支 1 month ago
proguard-rules.pro Android应用实现:MainActivity、UML查看器、AI助手、图书管理功能 2 months ago

README.md

Android 智能图书管理系统

概述

这是智能图书管理系统SLMS的Android客户端实现提供完整的图书管理功能和AI智能助手。

主要功能

📚 核心功能

  • 图书管理:浏览、搜索图书
  • 借阅管理:借阅、归还、续借图书
  • 用户管理:用户信息管理
  • 数据持久化:本地数据存储和同步

🤖 AI智能功能

  • AI智能助手:自然语言对话,解答使用问题
  • AI智能搜索:智能理解搜索意图,提供精准建议
  • AI个性化推荐:基于用户偏好推荐图书

📊 系统功能

  • UML图查看:查看系统架构和流程图
  • 离线运行所有AI功能完全离线无需网络
  • Mock数据:自动生成演示数据

架构设计

模块结构

android/
├── src/main/java/com/smartlibrary/android/
│   ├── ai/                    # AI服务
│   │   └── SimpleAIService.java
│   ├── data/                  # 数据管理
│   │   └── DataManager.java
│   ├── factory/               # 对象工厂
│   │   └── LibraryObjectFactory.java
│   ├── mock/                  # Mock数据生成
│   │   └── MockDataGenerator.java
│   ├── model/                 # 数据模型
│   │   ├── Book.java
│   │   ├── Loan.java
│   │   └── User.java
│   ├── network/               # 网络服务
│   │   └── ApiService.java
│   ├── ui/                    # UI组件
│   │   ├── AIAssistantFragment.java
│   │   ├── AISearchFragment.java
│   │   ├── AIRecommendFragment.java
│   │   └── UMLViewerActivity.java
│   └── MainActivity.java      # 主Activity

设计模式

  1. 单例模式

    • SimpleAIServiceAI服务单例
    • DataManager:数据管理器单例
  2. 工厂模式

    • LibraryObjectFactory:统一对象创建
  3. 观察者模式

    • DataManager:数据变化通知

快速开始

环境要求

  • Android Studio 4.0+
  • Android SDK 21+
  • Gradle 7.0+

构建步骤

  1. 克隆项目
git clone <repository-url>
cd smart-library-management-system
  1. 打开Android Studio
File -> Open -> 选择项目根目录
  1. 构建项目
./gradlew :android:build
  1. 运行应用
./gradlew :android:installDebug

或在Android Studio中点击运行按钮。

使用说明

首次启动

应用首次启动时会自动:

  1. 初始化DataManager
  2. 生成Mock数据50本图书、20个用户、100条借阅记录
  3. 保存数据到本地存储

AI功能使用

AI智能助手

  1. 点击主界面的"AI智能助手"按钮
  2. 在输入框中输入问题
  3. 点击"发送"按钮
  4. AI会分析意图并提供相关回答

支持的问题类型:

  • 借阅相关:"如何借书?"
  • 归还相关:"怎么还书?"
  • 搜索相关:"如何搜索图书?"
  • 推荐相关:"有什么好书推荐?"
  • 帮助相关:"帮助"

AI智能搜索

  1. 点击"AI智能搜索"按钮
  2. 输入搜索关键词(支持自然语言)
  3. 点击"智能搜索"
  4. 查看搜索建议和结果

AI个性化推荐

  1. 点击"AI个性化推荐"按钮
  2. 自动加载推荐列表
  3. 点击"刷新推荐"获取新推荐

UML图查看

  1. 点击"查看系统UML图"按钮
  2. 选择要查看的UML图类型
  3. 查看图表信息
  4. 如有网络,可点击"打开Web端查看"

核心组件说明

SimpleAIService

AI服务提供者负责处理所有AI相关功能。

主要方法

  • chat(String message)AI对话
  • smartSearch(String query):智能搜索
  • getRecommendation(String userId):个性化推荐

特点

  • 完全离线运行
  • 基于规则的意图识别
  • 上下文相关的响应生成

DataManager

数据管理器负责所有数据的CRUD操作和持久化。

主要方法

  • getBooks():获取所有图书
  • addBook(Book book):添加图书
  • initializeMockData()初始化Mock数据
  • hasMockData():检查是否有数据

特点

  • 单例模式
  • 观察者模式支持
  • SharedPreferences持久化
  • 自动Mock数据生成

MockDataGenerator

Mock数据生成器生成演示数据。

主要方法

  • generateBooks(int count):生成图书
  • generateUsers(int count):生成用户
  • generateLoans(int count, List<Book>, List<User>):生成借阅记录

特点

  • 多样化的数据模板
  • 真实的数据格式
  • 可配置的生成数量

LibraryObjectFactory

对象工厂,统一创建各种对象。

主要方法

  • createBook(...):创建图书对象
  • createUser(...):创建用户对象
  • createLoan(...):创建借阅记录对象

特点

  • 参数验证
  • 自动生成ID
  • 设置默认值

数据模型

Book图书

  • id图书ID
  • title:标题
  • author:作者
  • isbnISBN号
  • category:分类
  • status状态available/borrowed/reserved

User用户

  • id用户ID
  • name:姓名
  • email:邮箱
  • phone:电话

Loan借阅记录

  • id借阅ID
  • bookId图书ID
  • userId用户ID
  • loanDate:借阅日期
  • dueDate:归还日期
  • returnDate:实际归还日期
  • status状态active/returned/overdue

离线功能

所有AI功能都是完全离线的

  • 无需网络连接
  • 无需后端服务
  • 数据本地存储
  • 即时响应

这使得应用可以在任何环境下运行,非常适合演示和测试。

错误处理

应用实现了全面的错误处理:

  1. 数据层:捕获存储异常,提供降级方案
  2. AI服务:验证输入,提供友好错误消息
  3. UI层:处理生命周期问题,防止崩溃
  4. 网络层:检查连接状态,优雅降级

性能优化

  1. 懒加载:单例模式延迟初始化
  2. 异步处理使用Handler避免阻塞UI
  3. 数据缓存内存缓存减少IO操作
  4. 限制数据量Mock数据数量适中

测试

单元测试

运行单元测试:

./gradlew :android:test

UI测试

运行UI测试

./gradlew :android:connectedAndroidTest

已知限制

  1. 图片展示UML图暂不支持直接在移动端展示
  2. 网络同步:需要后端服务支持(可选)
  3. 真实AI当前使用规则引擎未集成真实AI模型

未来增强

  1. 真实AI集成接入GPT等AI服务
  2. 图片查看支持UML图直接展示
  3. 数据同步:完整的后端同步功能
  4. 推送通知:到期提醒等
  5. 语音输入支持语音与AI对话

贡献指南

欢迎贡献代码!请遵循以下步骤:

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

许可证

[项目许可证信息]

联系方式

如有问题或建议,请联系:

  • 项目主页:[项目URL]
  • 问题追踪:[Issues URL]

注意本应用使用Mock数据进行演示所有AI功能均为模拟实现。