可以肯定地说,Android游标仅包含我请求的列,并以与select语句i中相同的顺序返回它们。 e。以下代码将始终有效吗?
Cursor cursor = db.query("NAMES",
new String[] {"FIRSTNAME", "LASTNAME", "MOBILE"},
"ID = " + requestedId, null, null, null, null, null);
if (cursor.moveToFirst()) {
firstname = cursor.getString(0);
lastname = cursor.getString(1);
mobile = cursor.getString(2);
}
还是我应该坚持像下面那样显式获取列索引,因为Android SQLite可能会在query()返回的游标中添加一些辅助数据或更改列的顺序?
firstname = cursor.getString(cursor.getColumnIndex("FIRSTNAME"));
lastname = cursor.getString(cursor.getColumnIndex("LASTNAME"));
mobile = cursor.getString(cursor.getColumnIndex("MOBILE"));
最佳答案
可以肯定地说,Android游标仅包含我请求的列,并以与select语句i中相同的顺序返回它们。 e。以下代码将始终有效吗?
是的,很安全。
在引擎盖下,只是SQLiteQueryBuilder
进行了哑字符串连接。您可以检查source以了解更多信息。
关于android - Android游标列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28514035/