所以,我想构建一个应用程序来查看数据库中的一些数据。我已经有了数据库,也已经使一些实体与数据库中的列名具有完全相同的属性名。我还通过从assets文件夹复制将数据库放入数据库目录。
我想要实现的是,我想提取一些数据,并将其放入数组列表中,因此我可以在ListView中以片段形式显示它。
有没有方便的方法来提取一些数据而不查询(比如loadAll()函数)?
目前,我使用游标使用查询保存提取的数据,并使用setName(String name)等set函数逐个分配其属性。
之后,我使用CursorAdapter显示列表。
就像这样
public class FrameCursor extends CursorWrapper{
/**
* Creates a cursor wrapper.
*
* @param cursor The underlying cursor to wrap.
*/
public FrameCursor(Cursor cursor) {
super(cursor);
}
public ZFrame getFrame(){
if(isBeforeFirst() || isAfterLast()){
return null;
}
ZFrame frame = new ZFrame();
ZFrameDao frameDao = new ZFrameDao();
int frameEdition = getInt(getColumnIndex(COLUMN_FRAME_EDITION));
int frameId = getInt(getColumnIndex(COLUMN_FRAME_ID));
int frameNumber = getInt(getColumnIndex(COLUMN_FRAME_NUMBER));
int frameType = getInt(getColumnIndex(COLUMN_FRAME_TYPE));
int frameBookmark = getInt(getColumnIndex(COLUMN_FRAME_BOOKMARK));
int frameGlyph = getInt(getColumnIndex(COLUMN_FRAME_GLYPH));
int frameLesson = getInt(getColumnIndex(COLUMN_FRAME_LESSON));
String frameAllReading = getString(getColumnIndex(COLUMN_FRAME_ALL_READING));
String frameReadingNumber = getString(getColumnIndex(COLUMN_FRAME_READING_NUMBER));
String frameReference = getString(getColumnIndex(COLUMN_FRAME_REFERENCE));
String frameWritingNumber = getString(getColumnIndex(COLUMN_FRAME_WRITING_NUMBER));
frame.setZEDITION(frameEdition);
frame.setZFRAME_ID(frameId);
frame.setZFRAME_NUMBER(frameNumber);
frame.setZFRAME_TYPE(frameType);
frame.setZBOOKMARK(frameBookmark);
frame.setZGLYPH((long)frameGlyph);
frame.setZLESSON((long)frameLesson);
frame.setZALL_READING_NUMBER(frameAllReading);
frame.setZREADING_NUMBER(frameReadingNumber);
frame.setZREFERENCE(frameReference);
frame.setZWRITING_NUMBER(frameWritingNumber);
return frame;
}
}
为每张桌子做这件事会耗费大量工作。
所以任何人都可以帮助我?
答案 0 :(得分:0)
为什么不使用CursorLoader?使用CursorLoader
来处理游标查询问题,它与CursorAdapter完美配合,这是google的guide
答案 1 :(得分:0)
也许这就是你需要的,a light weight orm api?您可以访问here获取更多信息。