我正在尝试使用ArrayList
检索数据,但我做错了。没有错误,但我总是得到大小为0
以下是我用来从数据库中检索数据的方法:
public List<Topic> getTopics() {
List<Topic> topics = new ArrayList<>();
SQLiteDatabase database = this.getReadableDatabase();
Cursor cursor = database.query(TABLE_NAME,
new String[] { KEY_ID,
KEY_TOPIC_USER_ID,
KEY_TOPIC_USER_NAME,
KEY_TOPIC_IMAGE,
KEY_TOPIC_LIKES,
KEY_DATE}, null, null, null,
null, null);
while (cursor.moveToNext()) {
Topic topic = new Topic();
topic.setId(cursor.getInt(0));
topic.setUserId(cursor.getString(1));
topic.setName(cursor.getString(2));
topic.setPostImage(cursor.getString(3));
topic.setNumOfLikes(cursor.getInt(4));
topic.setCreatedTime(loadDate(cursor, 5));
}
cursor.close();
database.close();
return topics;
}
这些是用于存储我的日期的实用方法:
public static Long persistDate(Date date) {
if (date != null) {
return date.getTime();
}
return null;
}
public static Date loadDate(Cursor cursor, int index) {
if (cursor.isNull(index)) {
return null;
}
return new Date(cursor.getLong(index));
}