开发环境

Android studio 2.3.1

功能描述

  1. 集成多种查询方式,查看本地数据库中危险化学品的信息;
  2. 按照中文拼音和英文首字母,对化学品进行查询;
  3. 按照UN号或者CAS号查询相应的化学品;
  4. 按照化学品特性描述的关键词检索化学品;
  5. 查看产品手册以及使用说明文档;

Github 地址

git@github.com:guoyaohua/Chemicals.git

功能介绍

一、主界面和欢迎界面

程序打开时,会最先进入Welcome界面,此时程序会在后台初始化数据库,对相关工具进行初始化, 初始化结束后,会自动跳转到主界面。

程序包含四大功能模块:

  1. 名称检索
  2. 特性检索
  3. 编号检索
  4. 实用手册
    点击图标即可进入相应功能界面。

二、名称检索

进入名称搜索模块,在搜索框中输入化学品的中文名、中文拼音、英文名,点击查询即可检索到所对应的化学品。

程序具备联想功能,用户可以输入部分化学品名称(包括:中文名、拼音、英文名),点击查询,程序会将数据库中跟关键字相关的化学品都检索出来,例如如果我们想查询到“乙烯”,只需要键入“乙”即可在结果中查询到“乙烯”。

三、编号检索(UN/CAS)

进入编号搜索模块,系统默认展示化学品编号(UN\CAS)搜索框、搜索按钮、UN号、CAS号切换按钮。

搜索框支持UN号、CAS号输入,可通过输入框右下方单选按钮,切换UN/CAS搜索模式。

同样,程序可以自动识别不完整输入,选中切换按钮-UN号检索,此时用户输入化学品的UN号码(以乙酸为例,2789),进行部分输入,输入值“27”,结果列表自动匹配出相应的化学品。

四、特征检索

在特征检索模块,程序提供了强大的模糊搜索功能。

用户只需要在搜索框中输入危化品的特征,或者身处现场时对位置化学品的物理状态,化学气味等特征,键入到搜索框中,程序便会将有相关特性的化学品检索显示出来。

例如:用户可以输入“刺激性气味”这个关键词,程序会检索出所有包含刺激性气味这个属性的危化品。

五、实用手册

在本模块中,程序提供了多种危化品手册,以PDF形式打包在程序中,用户点击图标即可打开相应手册,PDFView模块引用了PDF plug框架,使浏览PDF手册更加流畅,且功能强大,大大节省手机RAM空间。

六、化学品详细信息

在化学品信息的详细页面下,用户可以看到基本信息、理化性质及用途、危险性、应急处置、防护建议、检测方法六个功能类别,此时可以拖动中上部的横向按钮滚动条,也可以横向滑动屏幕,达到功能切换的目的。

基本信息模块包含了化学品名称、英文名、别名、UN号、CAS号、危险货物编号、GHS分类标签的具体信息。整个页面根据化学品的信息量而定,信息量大的情况下,用户可以拖动页面向下滑动,查看全部信息。

理化性质及用途模块包含了化学品理化特性参数、用途等基本信息,整个页面根据化学品的信息量而定,信息量大的情况下,用户可以拖动页面向下滑动,查看全部信息。

危险性类别模块包括危险性类别、燃烧及爆炸危险性、健康危害等详细信息,整个页面根据化学品的信息量而定,信息量大的情况下,用户可以拖动页面向下滑动,查看全部信息。

应急处置模块包含了急救、灭火等详细信息,整个页面根据化学品的信息量而定,信息量大的情况下,用户可以拖动页面向下滑动,查看全部信息。

防护建议模块列出了对从业人员的防护建议。

数据库

一、SQLite数据库

APP中包含的化学品信息保存在本地数据库,在用户下载应用安装包时一并存储在移动终端的存储设备,用户可以在软件更新时查看到最新的完整版本危险化学品信息。
课题用到的Android数据库为Sqlite。Sqlite是android平台的一款轻量级的、嵌入式的、关系型数据库产品,以下是一些主要介绍:

  1. Sqlite通过文件保存数据库,创建的数据库文件默认存在/data/data//databases/的文件夹下,一个文件就是一个数据库。
  2. 一个数据库包含多个表格,一个表格包含不同的字段,字段类型等等,这与SQL数据库相似。
  3. Sqlite记录没有顺序的概念,不存在第一第二类的概念,通过查询获取满足条件的记录。

android平台下操作数据库的相关类:

  1. SQLiteOpenHelper抽象类,用于创建和管理数据库以及版本,需要创建一个子类继承,该类封装了对数据库操作的基本方法,使用方便。
  2. SQLiteDatabase数据库访问了,主要是对数据库的增删改查等常用操作,功能比SQLiteOpenHelper丰富,比如事务管理,分页等等。
  3. Cursor游标类,主要用来返回返回查询记录结果

二、数据库操作示例

数据库文件为db格式,数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。采用navicat for SQLite软件打开

安装完成之后,进入软件,首先点击“新建连接”

在“新建连接”窗口之中输入“连接名”(可自行命名,如“test”),选择类型“现有的数据库文件”,然后在数据库文件中查找db文件的位置,选项如下图所示

然后即可在软件左侧的栏目中找到刚刚建立的连接名“test”,在“表”中找到对应的表格以及文件信息,

数据库中收录了多达百种危险化学品。下图显示了最新录入情况,

危化品速查APP--Android Project的更多相关文章

  1. MediaPlayer的错误列表速查(android)

    public static final int MEDIA_ERROR_IO Added in API level 17 File or network related operation error ...

  2. mpvue 初体验之改写车标速查小程序

    前文 说到我开发了一个简单的小程序叫做 车标速查(代码以及二维码详见 这里),本文简单讲讲如何将这个小程序转为 mpvue 开发(最终 成果 ) mpvue 官网的 文档 真的是非常简单,不,应该说是 ...

  3. ECLIPSE ANDROID PROJECT IMPORT SUMMARY

    ECLIPSE ANDROID PROJECT IMPORT SUMMARY======================================Manifest Merging:------- ...

  4. Java API 快速速查宝典

    Java API 快速速查宝典 作者:明日科技,陈丹丹,李银龙,王国辉 著 出版社:人民邮电出版社 出版时间:2012年5月 Java编程的最基本要素是方法.属性和事件,掌握这些要素,就掌握了解决实际 ...

  5. 几个较好的SQL速查手册网址

    微软 SQL server 数据库开发手册 数据库设计 Transact-SQL 速查手册 数据库设计 MySQL 中文参考手册速查 结构化查询语言 SQL 学习手册速查 转自:http://www. ...

  6. Markdown速查手册

    之前一直使用简书做笔记,沉浸式的写作环境很棒.然而不知什么时候起,氛围愈发浮躁,软文鸡汤泛滥,离"简"字越来越远. 相比更加喜欢沉稳低调.内涵取胜的博客园.于是乎搬家! 搬家就要丢 ...

  7. The module is an Android project without build variants, and cannot be built

    导入 安卓项目报错 Error:The module 'app' is an Android project without build variants, and cannot be built. ...

  8. 安卓工作室 Android studio 或 Intellij IDEA 美化 修改 汉化 酷炫 装逼 Android studio or Intellij IDEA beautify modify Chinesization cool decoration

    安卓工作室 Android studio 或 Intellij IDEA 美化 修改 汉化 酷炫 装逼 Android studio or Intellij IDEA beautify modify ...

  9. SSM 项目从搭建爬坑到 CentOS 服务器部署 - 速查手册

    SSM 项目从搭建爬坑到 CentOS 服务器部署 - 速查手册 提示: (1)CSDN 博客左边有操作工具条上有文章目录 (2)SSM 指 Spring,Spring MVC,MyBatis Mav ...

随机推荐

  1. Azure Powershell获取指定订阅下的虚拟机信息(ARM)

    为方便Azure用户导出已创建虚拟机的相关信息,特编写如下脚本: 详情脚本: # 登陆Azure Account Add-AzureRmAccount -EnvironmentName AzureCh ...

  2. Django_MTV视图

    WEB服务请求流程? 用户请求通过url,url带着用户的用户信息封装成request,然后服务器收到url请求,激活获取url中带来的request,服务器处理request逻辑后,返回封装好的re ...

  3. Django 中 makemigrations、migrate时 No changes detected

    Django创建的项目中,需要更改.增加.删除表中的某些属性,性急直接把之前数据库表删除了,之后再执行: python manage.py makemigrations python manage.p ...

  4. junit源码解析--核心类

    JUnit 的概念及用途 JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个开源的单元测试框架.它属于白盒测试,只要将待测类继承 TestCase 类,就可以利用 JUnit ...

  5. Linux指令--mv

    本文博客转自:http://www.cnblogs.com/peida/archive/2012/10/27/2743022.html mv命令是move的缩写,可以用来移动文件或者将文件改名(mov ...

  6. linkin大话设计模式--桥接模式

    linkin大话设计模式--桥接模式 桥接模式是一种结构化模式,他主要应对的是:由于实际的需要,某个类具有2个或者2个以上维度的变化,如果只是使用继承将无法实现功能,或者会使得设计变得相当的臃肿.我们 ...

  7. JavaScript基础:BOM的常见内置方法和内置对象

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. BOM的介绍 JavaScript的组成 JavaScript基础分为三 ...

  8. maven部署项目遇到的问题

    在构建maven hibernate时候的exception 错误原因:通过maven dependency引入了hibernate5.2.10 final 而hibernate-core中没有上述该 ...

  9. Linux make nginx 的时候报错

    报错如下: `conf/koi-win' and `/usr/local/nginx/conf/koi-win' are the same file   原因: 可能在编译 nginx 的时候步骤不对 ...

  10. java 基本数据类型与变量类型

    Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. byte,short,char,int,long,float,double Java语言支持的变 ...