在notepad源码中我可以看到数据库中已经存在了COLUMN_NAME_CREATE_DATE(创建的时间),COLUMN_NAME_MODIFICATION_DATE(修改的时间)都已经在数据库中。
public void onCreate(SQLiteDatabase db) {
db.execSQL(“CREATE TABLE " + NotePad.Notes.TABLE_NAME + " (”
+ NotePad.Notes._ID + " INTEGER PRIMARY KEY,"
+ NotePad.Notes.COLUMN_NAME_TITLE + " TEXT,"
+ NotePad.Notes.COLUMN_NAME_NOTE + " TEXT,"
+ NotePad.Notes.COLUMN_NAME_CREATE_DATE + " INTEGER,"
+ NotePad.Notes.COLUMN_NAME_MODIFICATION_DATE + " INTEGER"
+ “);”);
}
之后我们就需要在创建和修改的时候对数据库中的时间进行相应的显示。
对应地点就是在在NotePadProvider的insert函数中。
Long now = Long.valueOf(System.currentTimeMillis());
if (values.containsKey(NotePad.Notes.COLUMN_NAME_CREATE_DATE) == false) {
values.put(NotePad.Notes.COLUMN_NAME_CREATE_DATE, now);
}
// If the values map doesn’t contain the modification date, sets the value to the current time.
if (values.containsKey(NotePad.Notes.COLUMN_NAME_MODIFICATION_DATE) == false) {
values.put(NotePad.Notes.COLUMN_NAME_MODIFICATION_DATE, now);
}
我们需要新建一个dateTime(如下)来替换上面的now。
//转化时间格式
Date date = new Date(now);
SimpleDateFormat format = new SimpleDateFormat(“yy.MM.dd HH:mm:ss”);
String dateTime = format.format(date);
接着需要在NotesList的数据定义中增加修改时间
private static final String[] PROJECTION = new String[] {
NotePad.Notes._ID, // 0
NotePad.Notes.COLUMN_NAME_TITLE, // 1