Java Android内容提供商修改/创建日期

Java Android内容提供商修改/创建日期,java,android,database,android-contentprovider,android-cursor,Java,Android,Database,Android Contentprovider,Android Cursor,例如:如果我正在访问SMS数据库,则消息时间戳有一个“日期”字段。但是,假设我将具有较旧时间戳的消息加载到数据库中,我如何知道它们是在具有较新时间戳的消息之后添加的呢?是否有我可以访问的表行的修改或创建日期 编辑和澄清: SMS表包含以下列:长id、线程id、地址、人员、日期、协议、读取、状态、类型、回复路径、主题、正文、服务中心、锁定、错误代码和查看 “日期”是指邮件发送的日期,而不是添加到数据库的日期。Android数据库(SQLite)是否跟踪在数据库中添加或修改数据的时间?如果是,我如何

例如:如果我正在访问SMS数据库,则消息时间戳有一个“日期”字段。但是,假设我将具有较旧时间戳的消息加载到数据库中,我如何知道它们是在具有较新时间戳的消息之后添加的呢?是否有我可以访问的表行的修改或创建日期

编辑和澄清:

SMS表包含以下列:长id、线程id、地址、人员、日期、协议、读取、状态、类型、回复路径、主题、正文、服务中心、锁定、错误代码和查看


“日期”是指邮件发送的日期,而不是添加到数据库的日期。Android数据库(SQLite)是否跟踪在数据库中添加或修改数据的时间?如果是,我如何访问它?如果没有,只需添加/删除/更新数据而不记录日志,这也是一个答案。

sqlite中没有插入或更新行的日期。

sqlite中没有插入或更新行的日期。

您可以通过创建包含当前日期和时间的列来解决此问题(当前表示此时插入了行):

这将在每一行中产生一个指向插入时刻的时间戳

另一种解决方案是简单地从SQLiteOpenHelper中插入当前时间戳,如下所示:

ContentValues values = new ContentValues(2);
values.put(COLUMN_NAME_ID, id);
values.put(COLUMN_NAME_TITLE, title);
values.put(COLUMN_NAME_CREATED_DATE, System.currentTimeMillis());

dbHelper.getWritableDatabase().insert(TABLE_NAME, null, values);

您可以通过创建包含当前日期和时间的列来解决此问题(当前表示此时插入了行):

这将在每一行中产生一个指向插入时刻的时间戳

另一种解决方案是简单地从SQLiteOpenHelper中插入当前时间戳,如下所示:

ContentValues values = new ContentValues(2);
values.put(COLUMN_NAME_ID, id);
values.put(COLUMN_NAME_TITLE, title);
values.put(COLUMN_NAME_CREATED_DATE, System.currentTimeMillis());

dbHelper.getWritableDatabase().insert(TABLE_NAME, null, values);

代码?错误/日志?你做了什么?你的研究得出了什么结论?你是怎么做的?你为什么这样做?等等。我们怎么知道你在说什么?你能重新编辑你的问题以尽可能包含全部信息吗?:)代码?错误/日志?你做了什么?你的研究得出了什么结论?你是怎么做到的?你为什么要这样做?等我们怎么知道你在说什么?您能否重新编辑您的问题以尽可能包含完整信息?:)