# DistillApplication
**Repository Path**: riskylampard/DistillApplication
## Basic Information
- **Project Name**: DistillApplication
- **Description**: No description available
- **Primary Language**: Java
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-07-03
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# DistillApplication
### 项目概述
对于食品中的部分有毒物质,在进行检测的时候必须对其蒸馏,本APP就是为了方便人们操作蒸馏仪而设计的一款人机交互系统。
### APP概览
打开APP,显示欢迎动画。
进入登录界面(使用Room,保存用户信息)。
进入主界面,由于考虑到尽量避免误操作,所以在界面设计时尽量考虑按键比较大,同时界面比较简洁,尽量避免滑动操作。
通过自定义view,将界面设计成仪表的方式,方便用户的使用。

使用Room保存每次操作信息,形成日志,方便维护和故障排查。
### 项目亮点
#### 1.使用MVVM架构搭建项目
#### 2.Android设备和仪器通过串口进行通信,在Android设备发送串口数据时使用生产者-消费者模式,解决了串口发送数据冲突的问题
#### 3.借鉴了Netty对于NIO设计的思想,在串口接收数据时自己定义一个selector,进行数据的分发处理
#### 4.大量使用自定义view和动画,解决了仪器界面在Android端显示的问题