1 /** 2 * 获取某行某列信息 3 * @param info 4 * @param column 5 * @return 6 */ 7 public static int getIntValue(ItemInfo info, String column) { 8 ContentResolver cr = LauncherApplication.getApp().getContentResolver(); 9 final Cursor c = cr.query(CONTENT_URI, new String[]{column}, ID + "=" + info.id, null, null); 10 if (null == c) { 11 return 0; 12 } 13 14 final int index = c.getColumnIndex(column); 15 int value = 0; 16 if (c.moveToFirst()) { 17 c.getInt(index); 18 } 19 20 c.close(); 21 return value; 22 }
注:cr.query()中new String[]{column}参数指定返回那些列信息, 如果返回所有列, 赋值null, 但是这样效率比较低
android.database.cursorindexoutofboundsexception异常发生在c.getInt(index);这行代码, 需要加上if (c.moveToFirst()) {}这个判断条件即可