需求
打开应用,自动显示最近那天的日程。
原理
把当前日期传进数据库,查询时间大于当前日期的,升序排列,第一个就是最近的。
Cursor nearest(Date date) {
db = getWritableDatabase();
Cursor cursor;
cursor = db.query(TableName, null, "time > " + date.getTime(), null, null, null, "time asc");
return cursor;
}
void nearest() {
Date date = new Date();
Cursor cursor = dbHelper.nearest(date);
if (cursor != null) {
cursor.moveToFirst();
String event = cursor.getString(cursor.getColumnIndexOrThrow("event"));
textView_event1.setText(event);
long time = cursor.getLong(cursor.getColumnIndexOrThrow("time"));
Date date1 = new Date(time);
textView_date.setText(SDF.format(date1));
long ms = date1.getTime() - date.getTime();
long d = ms / 1000 / 60 / 60 / 24;
textView_count1.setText("" + d);
textView_count1.setTextColor(0xff00bfff);
if (d <= 5) {
textView_day1.setTextColor(0xffff0000);
}
} else {
textView_event1.setText("今天");
textView_date.setText(SDF.format(date));
textView_count1.setText("0");
textView_count1.setTextColor(0xff000000);
textView_day1.setTextColor(0x00ff0000);
}
}
项目地址:GitLink | 确实开源