[英]How to store multiple DATES in sqlite android and fetch them to display in a List?
我有一個帶有日期列表的 android 活動。 日期是 date_from 和 date_to。 所以用戶可能會為過去發生的某些事件輸入許多日期(date_from 和 date_to)。 我想將這些日期存儲在 sqlite 數據庫中,所以我制作了一個用戶表,並在一列中輸入了所有 date_from,在另一列中輸入了 date_to。
當用戶退出活動時,顯然 android 會殺死該活動,因此它是空的。 現在我想取回所有這些日期並將它們存儲回列表視圖,以便用戶可以看到這些是已經輸入的日期。 可能是我的方法是錯誤的,如果有人可以指導我更好的方法來實現此功能。
謝謝你。
要檢索數據,您可以使用cursors
,將數據放入數組並使用適配器將其顯示在列表視圖中。
String selectQuery = "SELECT * FROM my_table";
SQLiteDatabase db = this.getReadableDatabase();
String [] values = [];
int i = 0;
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
int keyRowIdColumnIndex = cursor.getColumnIndex("toDate");
String yourValue = cursor.getString(keyRowIdColumnIndex);
values[i++] = yourValue;
} while (cursor.moveToNext());
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
// Assign adapter to ListView
listView.setAdapter(adapter);
您可以將其存儲在數據庫中的字符串中,然后可以從數據庫中檢索並使用以下方法更改回日期:
將日期更改為字符串
public String dateToddMMyyyyString(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy",
Locale.getDefault());
return sdf.format(date);
}
將字符串更改為日期:
public Date ddMMyyyyStringToDate(String ddMMyyyy) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy",
Locale.getDefault());
return sdf.parse(ddMMyyyy);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.