Android:将游标的每一列转换为String数组

imi*_*min 0 android cursor

假设这是我的代码

Cursor mCursor = dbAdapter.getAllTitles(); //returns results from 3 columns, eg column1, column2, column3
Run Code Online (Sandbox Code Playgroud)

无论如何,我可以将column1的值分配给1个字符串数组,将column2的值分配给另一个,等等吗?也许像这样

String[] getColumn1 = mCursor.dataFrom("column1");
String[] getColumn2 = mCursor.dataFrom("column2");
String[] getColumn3 = mCursor.dataFrom("column3");
Run Code Online (Sandbox Code Playgroud)

我看到的实现与上述相同结果的示例涉及遍历值并将它们放入相应的数组中。太多的资源消耗,不是吗?那么最好对每列进行单独的sql查询,不是吗?

小智 5

我发现Dyonisos发布答案是正确的,除了我会在for循环中更改此行:

for(mCursor.moveToFirst(); mCursor.moveToNext(); mCursor.isAfterLast())
Run Code Online (Sandbox Code Playgroud)

对此:

for(cursor.moveToFirst(); !cursor.isAfterLast();cursor.moveToNext() )
Run Code Online (Sandbox Code Playgroud)

由于中间的语句是检查是否继续循环的语句。这可以在接受的答案的评论中回答Liam W的问题

免责声明:我知道这本来应该是一则评论,但是我没有足够的声誉来赢得好评,并且此信息可能对将来寻求此信息的其他人有用=)