我正在开发使用SQLite数据库的Android应用程序.
我有ListView使用数据库中的数据来显示列表(见图片).
图片在Base64字符串中解码并存储在数据库中.我的问题是这个日志:
10-19 16:51:36.612: W/CursorWindow(15151): Window is full:
requested allocation 136877 bytes, free space 78836 bytes, window size 2097152 bytes
它会播放很多帧,因为读取时间会增加.
这是因为我总是读x行10行.
1,它读取10行,然后是20行,然后是30行继续……
解决方案,我想要使用的是,获取0-10,11-20,21-30等行.怎么做到这一点?我只需要Sql查询.
编辑:我的查询
String columns[] = {KEY_ID, KEY_NAME, KEY_RATING, KEY_CUISINE, KEY_IMAGE};
Cursor cursor = db.query(TABLE_RECIPES, columns, null, null, null, null, KEY_NAME, lim);
解决方法:
使用rawQuery方法,并指定limit关键字.
例如.:
"SELECT * FROM myTable limit 10" <-- get the 1st 10 rows
"SELECT * FROM myTable limit 10, 20" <-- get the 2nd 10 rows between 10 and 20, etc
这应该让你开始.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!