我正在尝试创建一个管理数据的库。部分原因是将数据存储在数据库中。由于我不知道图书馆的用户想要存储什么,我使用的是泛型。这是我读取数据库表的方法。
public <TEntity extends SyncableBase> List<TEntity> loadItems(Class clazz) {
List<TEntity> listToReturn = new ArrayList<TEntity>();
DatabaseHelperBase dbHelper = getDbHelper();
Dao<TEntity, Integer> dao;
try {
dao = dbHelper.getDao(clazz); //Is this approach correct?
listToReturn = dao.queryForAll(); //This doesn't work
} catch (SQLException e){
e.printStackTrace();
}
return listToReturn;
}
在我的应用程序的某个地方(使用这个库)我称之为这样的方法:
List<ToDoCategory> catList = mirrorservice.<ToDoCategory>loadItems(ToDoCategory.class);
无论我做什么,空的ArrayList都会返回catList
。我也用queryForId
尝试了类似的方法。那也行不通。与此同时,我的add
工作正常!
我怀疑我创建Dao
的方式有问题。有什么问题?