Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android中利用java反射原理將對象添加到sqlit數據庫的萬能方法

android中利用java反射原理將對象添加到sqlit數據庫的萬能方法

編輯:關於Android編程

利用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);

}

增刪該查應該都可以利用發射原理做,這裡只做了添加處理。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved