public List<Object> getByWhere(Class<?> clz, String where) { final Cursor cur = db.rawQuery(SqlGetter.getGetSql(clz, where), null); ArrayList<Object> list = new ArrayList<Object>(0); if (cur != null && cur.getCount() > 0) while (cur.moveToNext()) { try { final Object ins = Class.forName(clz.getName()).newInstance(); ClassHelper.callUsefullFields( ins.getClass(), new FieldCallback() { // id public void call(Field f) { setFieldValue(f, ins, cur.getString(cur.getColumnIndex(f.getName()))); } }, new FieldCallback() { // 普通 public void call(Field f) { setFieldValue(f, ins, cur.getString(cur.getColumnIndex(f.getName()))); } }); list.add(ins); } catch (Exception e) { } } closeCursor(cur); return list; }