/** * ** * * @return 便利cursor, 为对象赋值 */ public static Object traversal(Cursor cursor, Class tableClass) { if (cursor.getCount() == 0) { Log.v("mine", "没有数据"); return null; } GetInstances getInstances = new GetInstances(tableClass).invoke(); if (getInstances.is()) return null; Object objectCopy = getInstances.getObjectCopy(); Field[] fields = tableClass.getDeclaredFields(); for (int i = 0; i < fields.length; i++) { Log.v("mine", fields[i].getName()); String value = ""; if (cursor.moveToNext()) value = cursor.getString(cursor.getColumnIndex(fields[i].getName())); String setMethodName = "set" + fields[i].getName(); try { Method method = tableClass.getMethod(setMethodName, new Class[] {fields[i].getType()}); try { method.invoke(objectCopy, new Object[] {value}); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } catch (NoSuchMethodException e) { e.printStackTrace(); } } return objectCopy; }
private void initArgs() { if (getArguments() != null && getArguments().containsKey("no_config_wizard")) { loadConfigWizard = !getArguments().getBoolean("no_config_wizard"); } mUser = new OUser(); mUser.setFromBundle(getArguments()); if (loadConfigWizard) { GetInstances instances = new GetInstances(getArguments().getBoolean("self_hosted")); instances.execute(); } else { // Create database DatabaseCreate databaseCreate = new DatabaseCreate(); databaseCreate.execute(); } }