代码如下:
public Person find(Integer id)
{
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from person where personsId = ?", 
new String[]{id.toString()});

if(cursor.moveToFirst())
{
int personsId = cursor.getInt(cursor.getColumnIndex("personsId"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String phone =cursor.getString(cursor.getColumnIndex("phone"));

return new Person(personsId,name,phone);
}

return null;
}既然都找到了,为什么还需要movetoFirst。
因为这个cursor返回的可能不只是一行么。为什么?