예제 #1
0
 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;
 }