作者:momo左 | 来源:互联网 | 2023-05-18 04:59
开发环境Androidstudio2.3.1功能描述集成多种查询方式,查看本地数据库中危险化学品的信息;按照中文拼音和英文首字母,对化学品进行查询;按照UN号或者CAS号查询相应
开发环境
Android studio 2.3.1
功能描述
- 集成多种查询方式,查看本地数据库中危险化学品的信息;
- 按照中文拼音和英文首字母,对化学品进行查询;
- 按照UN号或者CAS号查询相应的化学品;
- 按照化学品特性描述的关键词检索化学品;
- 查看产品手册以及使用说明文档;
Github 地址
git@github.com:guoyaohua/Chemicals.git
功能介绍
一、主界面和欢迎界面
![](https://www.#.com/imgs/5/8/8/0/39/6beb205c146258a9434f0b62d1fc8b68.jpe)
程序打开时,会最先进入Welcome界面,此时程序会在后台初始化数据库,对相关工具进行初始化, 初始化结束后,会自动跳转到主界面。
![](https://www.#.com/imgs/5/4/1/9/50/c1ae62b0b07aba3bf670d3cf45262d9c.jpe)
程序包含四大功能模块:
- 名称检索
- 特性检索
- 编号检索
- 实用手册
点击图标即可进入相应功能界面。
二、名称检索
![](https://www.#.com/imgs/9/8/2/9/18/dd3d148e7271399f419a3148eb5b0f98.jpe)
进入名称搜索模块,在搜索框中输入化学品的中文名、中文拼音、英文名,点击查询即可检索到所对应的化学品。
![](https://www.#.com/imgs/4/5/2/0/89/a1500497b75244aee21c85e63bcb6f3c.jpe)
程序具备联想功能,用户可以输入部分化学品名称(包括:中文名、拼音、英文名),点击查询,程序会将数据库中跟关键字相关的化学品都检索出来,例如如果我们想查询到“乙烯”,只需要键入“乙”即可在结果中查询到“乙烯”。
三、编号检索(UN/CAS)
![](https://www.#.com/imgs/0/4/2/7/60/2787f25f0b790efe08345ca1cf0b678e.jpe)
进入编号搜索模块,系统默认展示化学品编号(UN\CAS)搜索框、搜索按钮、UN号、CAS号切换按钮。
搜索框支持UN号、CAS号输入,可通过输入框右下方单选按钮,切换UN/CAS搜索模式。
同样,程序可以自动识别不完整输入,选中切换按钮-UN号检索,此时用户输入化学品的UN号码(以乙酸为例,2789),进行部分输入,输入值“27”,结果列表自动匹配出相应的化学品。
![](https://www.#.com/imgs/3/5/8/2/10/5a2ebffdb32fa66e59acbd1605667cd0.jpe)
四、特征检索
![](https://www.#.com/imgs/4/1/4/9/40/d6dd27c3664c9cf0f72ce80b24dd5b8e.jpe)
在特征检索模块,程序提供了强大的模糊搜索功能。
用户只需要在搜索框中输入危化品的特征,或者身处现场时对位置化学品的物理状态,化学气味等特征,键入到搜索框中,程序便会将有相关特性的化学品检索显示出来。
例如:用户可以输入“刺激性气味”这个关键词,程序会检索出所有包含刺激性气味这个属性的危化品。
五、实用手册
![](https://www.#.com/imgs/6/9/8/2/42/eda246d473a6f79bbbfd74ed2bce4be0.jpe)
在本模块中,程序提供了多种危化品手册,以PDF形式打包在程序中,用户点击图标即可打开相应手册,PDFView模块引用了PDF plug框架,使浏览PDF手册更加流畅,且功能强大,大大节省手机RAM空间。
![](https://www.#.com/imgs/6/4/0/0/71/0e3c16d1d2356095a485492a1020fb2f.jpe)
六、化学品详细信息
在化学品信息的详细页面下,用户可以看到基本信息、理化性质及用途、危险性、应急处置、防护建议、检测方法六个功能类别,此时可以拖动中上部的横向按钮滚动条,也可以横向滑动屏幕,达到功能切换的目的。
![](https://www.#.com/imgs/8/5/1/0/96/a3cdf86d4229d7f1b54868d0094699cb.jpe)
基本信息模块包含了化学品名称、英文名、别名、UN号、CAS号、危险货物编号、GHS分类标签的具体信息。整个页面根据化学品的信息量而定,信息量大的情况下,用户可以拖动页面向下滑动,查看全部信息。
![](https://www.#.com/imgs/1/6/9/7/97/c78d5fd45644c498c643f28c9bc8db07.jpe)
理化性质及用途模块包含了化学品理化特性参数、用途等基本信息,整个页面根据化学品的信息量而定,信息量大的情况下,用户可以拖动页面向下滑动,查看全部信息。
![](https://www.#.com/imgs/5/3/7/3/57/8855c5d99897de0c8b738fc57d03f555.jpe)
危险性类别模块包括危险性类别、燃烧及爆炸危险性、健康危害等详细信息,整个页面根据化学品的信息量而定,信息量大的情况下,用户可以拖动页面向下滑动,查看全部信息。
![](https://www.#.com/imgs/1/9/1/6/76/90cd291fec5ee976b1e7d994bd720d99.jpe)
应急处置模块包含了急救、灭火等详细信息,整个页面根据化学品的信息量而定,信息量大的情况下,用户可以拖动页面向下滑动,查看全部信息。
![](https://www.#.com/imgs/4/7/4/0/41/eea3ef24ad434347b1338b2a76fb27a2.jpe)
防护建议模块列出了对从业人员的防护建议。
数据库
一、SQLite数据库
APP中包含的化学品信息保存在本地数据库,在用户下载应用安装包时一并存储在移动终端的存储设备,用户可以在软件更新时查看到最新的完整版本危险化学品信息。
课题用到的Android数据库为Sqlite。Sqlite是android平台的一款轻量级的、嵌入式的、关系型数据库产品,以下是一些主要介绍:
- Sqlite通过文件保存数据库,创建的数据库文件默认存在/data/data/
/databases/的文件夹下,一个文件就是一个数据库。
- 一个数据库包含多个表格,一个表格包含不同的字段,字段类型等等,这与SQL数据库相似。
- Sqlite记录没有顺序的概念,不存在第一第二类的概念,通过查询获取满足条件的记录。
android平台下操作数据库的相关类:
- SQLiteOpenHelper抽象类,用于创建和管理数据库以及版本,需要创建一个子类继承,该类封装了对数据库操作的基本方法,使用方便。
- SQLiteDatabase数据库访问了,主要是对数据库的增删改查等常用操作,功能比SQLiteOpenHelper丰富,比如事务管理,分页等等。
- Cursor游标类,主要用来返回返回查询记录结果
二、数据库操作示例
数据库文件为db格式,数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。采用navicat for SQLite软件打开
![](https://www.#.com/imgs/6/0/1/5/76/dad9170408bf444d021208cbde94b86e.jpe)
安装完成之后,进入软件,首先点击“新建连接”
![](https://www.#.com/imgs/9/1/3/1/23/38d5b8c4551dda4767de87fd0a9e372d.jpe)
在“新建连接”窗口之中输入“连接名”(可自行命名,如“test”),选择类型“现有的数据库文件”,然后在数据库文件中查找db文件的位置,选项如下图所示
![](https://www.#.com/imgs/3/3/3/8/61/6dbe5238122284c2a68c16fcfaf26f98.jpe)
然后即可在软件左侧的栏目中找到刚刚建立的连接名“test”,在“表”中找到对应的表格以及文件信息,
![](https://www.#.com/imgs/0/3/7/1/19/fd2e99763ee5a9bbf80da5c24b6ef902.jpe)
数据库中收录了多达百种危险化学品。下图显示了最新录入情况,
![](https://www.#.com/imgs/5/1/4/6/36/1b8b151a2f417c6f75fb7763168004e1.jpe)
![](https://www.#.com/imgs/1/2/4/5/32/c1d1bc0d1330daf27b85f9dd2f6d6fc6.jpe)