android中利用java反射原理将对象添加到sqlit数据库的万能方法

利用java的反射机制,我们可以得到对象里的方法列表,,参数列表以及对应的值,那么我们就可以利用这些做一个万能的插入数据库的方法。

以下方法中表名要和数据库名一致。

protected void insert(Object ob){ContentValues initialValues = new ContentValues();Class c = ob.getClass();String className = c.getName();String tableName = className.substring(className.toString().lastIndexOf(".")+1);String deviceName = "";System.out.println("tableName:"+tableName);Field[] fields= c.getDeclaredFields();try {for(Field f:fields){f.setAccessible(true); String str =f.toString().substring(f.toString().lastIndexOf(".")+1);Object obj = f.get(ob);if(str.equals("deviceName"));if(obj!=null&&!obj.toString().equals("0")){initialValues.put(str, obj+"");}//System.out.println("params:"+str+" value:"+f.get(ob).toString());}} catch (IllegalArgumentException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}long ss = db.insert(tableName, null, initialValues);

}

增删该查应该都可以利用发射原理做,这里只做了添加处理。

只能昏昏沉沉地沿着青草和泥土的气息前进。

android中利用java反射原理将对象添加到sqlit数据库的万能方法

相关文章:

你感兴趣的文章:

标签云: