簡體   English   中英

如何在sqlite android中存儲多個日期並獲取它們以顯示在列表中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM