Room 資料庫實作了帶有日期/時間欄位的 Task 類。
@ColumnInfo(name = TaskEntry.COLUMN_CREATE_DATE)
@TypeConverters({LocalDateTimeConverter.class, LDateTimeConverter.class})
private LocalDateTime createDate;
@ColumnInfo(name = TaskEntry.COLUMN_FINISH_DATE)
@TypeConverters({LocalDateTimeConverter.class, LDateTimeConverter.class})
private LocalDateTime finishDate;
實作了一個功能,用于選擇今天可用但尚未完成的任務,但其結果將被忽略,并且會發布沒有選定日期范圍的完整任務串列。
@Query("Select * from " TaskEntry.TABLE_NAME
" where (" TaskEntry.COLUMN_CREATE_DATE " >= :startDayTime"
" or " TaskEntry.COLUMN_FINISH_DATE " < :endDayTime)"
" and " TaskEntry.COLUMN_FINISHED " = 0")
LiveData<List<Task>> getLiveDailyTasks(Long startDayTime, Long endDayTime);
有人懷疑這種通過轉換進行比較的方法行不通,但如何仍然可以實作?
uj5u.com熱心網友回復:
有一種懷疑是這種通過轉換進行比較的方法行不通
從 Android Studio 運行應用程式。訪問資料庫后等待用戶輸入,然后使用App Inspection。查看 TaskEntry 表是否按預期存盤值?如果是這樣,那么 TypeConverters 的可能性就大了。
接下來單擊 Open new Query 圖示(帶鏡子的表),然后訪問您的 DAO 類并單擊有問題的 @Query 旁邊的相同圖示,輸入合適的值并單擊運行。如果資料按預期顯示,則查詢正常,因此請查看 LiveData 方面。
這是一種通過螢屏截圖的演示(顯然具有不同的應用程式和資料庫,但時間存盤很長,精確到秒):-

單擊運行后:-

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/399207.html
標籤:爪哇 安卓 sql 约会时间 android-room
