安卓数据库:获取最近的一天

需求

打开应用,自动显示最近那天的日程。

原理

把当前日期传进数据库,查询时间大于当前日期的,升序排列,第一个就是最近的。

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 | 确实开源

猜你喜欢

转载自blog.csdn.net/sonichty/article/details/130877451