我想使用SQLite数据库中存储的日期和时间启动警报。
在数据库中,存储在其中的时间和日期如下所示:
对于日期格式,我将其存储为“03/31/18”,对于时间格式,我将其存储为“6:50 AM”或“PM”,并且它们都设置为TEXT类型。
现在我的问题是我不知道如何获取这些数据并使用它来实现警报通知。另外,我存储时间和日期的方式不对吗?
如果您能查一查,请告诉我该怎么做。
您通过运行返回Cursor的SELECT查询来获取数据。
然后,您在结果Cursor中导航(移动)以定位到相应的行(例如,moveToFirst()
转到第一行,如果无法移动则检查返回值false,否则为true)。
然后使用Cursor的get????(column_offset_as_int)
方法从相应的列中获取数据,例如getString(0)
将返回存储在第一列中的String。推荐的方法是不使用硬编码偏移,而是使用返回偏移/索引的Cursor getColumnIndex(column_name_as_a_string)
方法。
使用Cursor完成后,您应该使用Cursor的close
方法关闭它。
我建议,不是没有你的保存格式是不对的,而是你将它存储在一个不理想的格式,可能需要更多的代码。
SQLite的日期和时间函数最好地处理存储的数据: -
时间串
时间字符串可以采用以下任何格式:
- YYYY-MM-DD
- YYYY-MM-DD HH:MM
- YYYY-MM-DD HH:MM:SS
- YYYY-MM-DD HH:MM:SS.SSS
- YYYY-MM-DDTHH:MM
- YYYY-MM-DDTHH:MM:SS
- YYYY-MM-DDTHH:MM:SS.SSS
- HH:MM HH:MM:SS
- HH:MM:SS.SSS
- 现在
- DDDDDDDDDD