热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

危化品速查APP--AndroidProject

开发环境Androidstudio2.3.1功能描述集成多种查询方式,查看本地数据库中危险化学品的信息;按照中文拼音和英文首字母,对化学品进行查询;按照UN号或者CAS号查询相应

开发环境

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”,在“表”中找到对应的表格以及文件信息,

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


推荐阅读
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • Python 3 Scrapy 框架执行流程详解
    本文详细介绍了如何在 Python 3 环境下安装和使用 Scrapy 框架,包括常用命令和执行流程。Scrapy 是一个强大的 Web 抓取框架,适用于数据挖掘、监控和自动化测试等多种场景。 ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • 本文详细介绍了在MySQL中如何高效利用EXPLAIN命令进行查询优化。通过实例解析和步骤说明,文章旨在帮助读者深入理解EXPLAIN命令的工作原理及其在性能调优中的应用,内容通俗易懂且结构清晰,适合各水平的数据库管理员和技术人员参考学习。 ... [详细]
  • 在《ChartData类详解》一文中,我们将深入探讨 MPAndroidChart 中的 ChartData 类。本文将详细介绍如何设置图表颜色(Setting Colors)以及如何格式化数据值(Formatting Data Values),通过 ValueFormatter 的使用来提升图表的可读性和美观度。此外,我们还将介绍一些高级配置选项,帮助开发者更好地定制和优化图表展示效果。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
author-avatar
momo左
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有