(4)BluetoothSocket类用来建立同远程设备的连接,获取输入输出流。
通过蓝牙进行数据传输的过程包括:
(1)检查可用的蓝牙硬件。并不是所有Android终端都具有蓝牙功能,因此使用前需确定是否有可用的蓝牙硬件;
(2)开启蓝牙;
(3)查询已配对设备;
(4)搜索设备;
(5)建立设备间的连接;
(6)数据交互;
(7)关闭蓝牙硬件。
当两个设备连接后,各自拥有一个BluetoothSocket对象,并获得用来读取信息的InputStream对象和发送信息的OutputStream对象[9]。
1.4 Android平台数据存储方式
基于Android平台的数据存储方式分外部存储和内部存储两类。外部存储方式指:内容提供器和网络数据库,内部存储方式有:系统配置、文件存储、SQLite数据库[10]。在实际应用开发中主要使用内部存储方式。系统配置方式指通过Android平台提供的SharedPreferences类,保存应用程序的一些简单的配置信息的机制。文件存储方式使用Java中的IO类实现对内部存储器或SD卡等外部存储设备中的文件的读写与解析,该方式实现数据插入与修改操作较复杂,每次操作都需读取整个文件,效率较低。SQLite是一款超轻量级的嵌入式数据库,支持SQL语句,能实现查询、插入、删除、修改等操作,具有小、安全、免费等特点。本文提到的系统所选择的数据存储方式便是SQLite数据库,对数据进行操作简单而快速。
2 系统概述
在日常生活中,当家庭里物品被闲置一段时间后,会出现被遗忘的状况,而得不到再次使用;在外出需要携带较多物品时,常常在清点过后,依然会出现遗漏东西的状况。本系统的功能是帮助人们记录物品信息,能自动识别对物品进行清点,并显示清点结果(该步操作类似于仓库管理中的出库,对照出库清单清点出库物品是否有遗漏)。其系统结构如图1所示。