# 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,显示欢迎动画。 image-20200705133915723 进入登录界面(使用Room,保存用户信息)。 image-20200705133951926 image-20200705134020708 进入主界面,由于考虑到尽量避免误操作,所以在界面设计时尽量考虑按键比较大,同时界面比较简洁,尽量避免滑动操作。 image-20200705134228728 通过自定义view,将界面设计成仪表的方式,方便用户的使用。 image-20200705134341337image-20200705134430760 使用Room保存每次操作信息,形成日志,方便维护和故障排查。 image-20200705134616930 image-20200705134651993 ### 项目亮点 #### 1.使用MVVM架构搭建项目 #### 2.Android设备和仪器通过串口进行通信,在Android设备发送串口数据时使用生产者-消费者模式,解决了串口发送数据冲突的问题 #### 3.借鉴了Netty对于NIO设计的思想,在串口接收数据时自己定义一个selector,进行数据的分发处理 #### 4.大量使用自定义view和动画,解决了仪器界面在Android端显示的问题