请查看以下代码
public List getWordList(int listNumber) {
// TODO Auto-generated method stub
List<String> list_a = new ArrayList<String>();
List<String> wordList = new ArrayList<String>();
int counter = 0;
try
{
String selectQuery = "select * from WordList";
Cursor cursor = database.rawQuery(selectQuery, null);
if(cursor.moveToFirst())
{
do
{
String englishWord = cursor.getString(cursor.getColumnIndex("EnglishWord"));
String portugueseWord = cursor.getString(cursor.getColumnIndex("PortugueseWord"));
String englishHint = cursor.getString(cursor.getColumnIndex("EnglishHint"));
String portuguestHint = cursor.getString(cursor.getColumnIndex("PortugueseHint"));
list_a.add(englishWord);
list_a.add(portugueseWord);
list_a.add(englishHint);
list_a.add(portuguestHint);
}
while(cursor.moveToNext());
//Toast.makeText(context, "Data Retrieved: "+branches.get(1), Toast.LENGTH_LONG).show();
}
cursor.close();
return list_a;
}
catch(Exception e)
{
Toast.makeText(context, "Exception: "+e.getLocalizedMessage(), Toast.LENGTH_LONG).show();
return null;
}
}
在这里,我从第一行到最后一行获取数据。但是,这不是我需要的。如果'number',参数是1,我需要第0-9行的数据,如果'number'是2,如果'number'是3,我需要第10-19行的数据,我需要来自第20行的数据-29喜欢明智。
我不熟悉SQLite,所以我该怎么做?
答案 0 :(得分:1)
与SQL Limit Clause
一样,分页功能最佳。请参阅Sqlite文档here。
旧查询:
String selectQuery = "select * from WordList";
新查询:
String selectQuery = "select * from WordList LIMIT 0,10";
第一个数字表示偏移量。可以使用
之类的内容来纠正偏移int offset = (somePageValue-1)*10;