# thu-java-android-app

## 项目描述

一个安卓端的基于知识图谱的智能教育App，项目内容和使用JAVA为作业要求，不代表开发者立场。

## 设计规划

> 初赛阶段，队伍需要进行开题文档提交，内容包括应用功能设计、界面及交互设计、工作计划及初步开发文档等内容，评委将根据队伍提交的文档进行打分，初赛的分数占比为：
>
> - 应用的实用价值及创新性——40%
> - 设计美观度及交互友好度——40%
> - 工作计划、文档清晰度——20%

> 开题时需要提交一篇大作业设计文档，以小组为单位提交，每小组提交一份即可。在其中必须阐明的内容有：
>
> - 附加功能的选择
> - 人员分工
> - 整体应用的框架（前、后端；是否需要自己实现算法端）
> - 工作计划
> - 简单的UI设计（可选）

### 应用理念、价值及创新性

（以下为废话）

应用基于大数据知识图谱，着力于K12市场，目标人群的教育需求和安卓的庞大市场给予了这个应用广阔的生存空间，并且教育APP本身有着留存度高，用户活跃时长长的特点。

本应用想通过已有的知识图谱数据，设计人性化的UI框架和学习模型，赋能当前教育资源分布不均匀的K12教育市场。知识图谱作为百科全书类数据，具有较高利用价值但难以分发，本应用创新性地将数据与智能应用相结合，通过搜索、测试、AI聊天、知识可视化等多种输入与反馈能力与K12用户建立友善、持续的联系，将知识图谱与教育紧密融合，从而解决当前K12教育市场一定的问题。

### 整体功能设计

#### 基础功能

- 学科分类列表和实体列表
- 接入开放平台接口
  - 实体检索：实体搜索及历史记录（搜索）
  - 实体链接：针对基础教育文本的知识点发现功能（文本标注）
  - 知识问答：针对基础教育简单问题的问答机器人（聊天）
  - 实体详情：合理展示实体的描述、属性、关系及关联试题（知识图谱）
- 用户系统：收藏、登录、浏览记录
- 本地缓存功能
- 分享系统：分享到微信、微博等常用社交媒体

#### 附加功能

- 试题功能（选择题卡片+错题集）
  - 针对用户给出的希望学习的知识点生成试题，让用户做题并完成打分
  - 针对用户以往的做题历史记录以及访问记录，智能生成试题，对错题提供复习功能
- 推送功能
  - 定期将知识点、试题通过APP信息、邮件等方式推送给用户，提醒用户定期学习

### 应用前后端框架

**前端**

实现上面提到的所有功能，保证美观、流畅。

**后端**

后端需要设计用户接口，转发用户请求，保存用户数据（基本信息、收藏、浏览记录），保证流畅、安全。

### 设计初稿

相应 demo 可见 `demo.mp4`。

交互上采用点击-反馈式，整体基于Meterial Design 的设计理念。考虑到目标人群的多样性，**暂时兼容Android 4.4+（至Android 12）。**

**首页**

展示用户兴趣点，例如推荐功能，历史浏览；同时在用户中心中做单独入口，不作为唯一通道。

![ScreenShot 2021-08-19 at 03.26.44@2x](https://i.loli.net/2021/08/19/xKOtdSDRf7NLgap.png)

**文本标注页**

文本标注页核心是一个文本输入框，点击按钮出分析结果；分析结果直接高亮显示在文本中，点击后跳转到相应知识点。

![ScreenShot 2021-08-19 at 03.26.49@2x](https://i.loli.net/2021/08/19/UCl2DcNkGJZjziB.png)

**专项测试**

针对用户给出的希望学习的知识点给出一套题目，让用户做题并完成打分；或者是针对用户以往的做题历史记录以及访问记录，对用户进行试题的推荐。利用试题巩固用户学习成果。

**知识点详情**

对每个知识点，详细显示其属性供用户查询，同时通过节点网络地图让用户尽心拓展学习，具有常规学习无法比拟的自由性。同时有主流社交网站的分享途径，方便用户在社交圈中集体学习。

下面的为节点网络地图的示意图（来自数据网站）。

![ScreenShot 2021-08-19 at 03.49.58@2x](https://i.loli.net/2021/08/19/VSREeNMb5GyUdI7.png)

**用户中心**

用户系统主要为用户提供个性化的知识服务，同时为用户保留收藏与浏览记录，设有等级功能，学习可以获得成长积分，起到激励用户的作用。

![ScreenShot 2021-08-19 at 03.26.52@2x](https://i.loli.net/2021/08/19/xkL7GZFtESB6zRd.png)

**问答机器人**

问答机器人通过人工智能，赋能有局限性的知识点学习，解决K12用户遇到问题难以搜索，搜索结果正确性难以分辨的问题。同时采用对话模式，熟悉度高，上手难度低。

![ScreenShot 2021-08-19 at 03.27.01@2x](https://i.loli.net/2021/08/19/MhENf7okTUxFClK.png)

### 人员分工

（假的）

- 前端用户系统、答题系统等项目的开开发，人机交互设计

- 前端推荐系统、问答系统、知识图谱可视化等项目的开发

- 前端接入分享接口，后端框架搭建，实现用户系统并接入Edukg与微博SDK

### 工作计划

规划于 2021.8.11 开始，2021.9.1 前完成。

- 8.11-8.15 定开发规范，设计UI初稿
- 8.16-8.19 搭建UI框架
- 8.20-8.25 前端设计 & 后端搭建
- 8.26-8.28 前后端融合测试
- 8.29-8.31 第三方服务集成 & 模拟用户测试 & 云测 & 细节调整
- 9.1 发布正式版本

## 参考资料

https://github.com/LinuxCafeFederation/awesome-android

https://github.com/wasabeef/awesome-android-ui

https://github.com/jobbole/awesome-android-cn

https://github.com/JsonChao/Awesome-Android-Interview/blob/master/Android%E7%9B%B8%E5%85%B3/Android%E5%9F%BA%E7%A1%80%E9%9D%A2%E8%AF%95%E9%A2%98.md

https://www.jianshu.com/p/5dfed8a3a017

https://github.com/soyoungboy/android-material-design-Open-source-projects

#### 原型参考

https://github.com/CeuiLiSA/Pixiv-Shaft

https://github.com/Notsfsssf/Pix-EzViewer

https://github.com/axiel7/MoeList

https://github.com/oasisfeng/island

https://github.com/race604/FlyRefresh

https://github.com/material-components/material-components-android

https://codecanyon.net/item/universal-full-multipurpose-android-app/6512720?_ga=2.240312843.980967154.1628676991-1019096890.1628676991

