我正在使用db4o lib來存儲數據。如何爲所有類的類(對象)創建通用方法
例如我有這樣的代碼,用於存儲數據(即新聞)
public static void insertNewsToDB(Context context, final News news){
final String dbPath = context.getDir("news", Context.MODE_PRIVATE) + "/" + DB4O_NAME;
ObjectContainer db = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), dbPath);
try {
db.store(news);
db.commit();
} finally {
db.close();
}
}
,並從數據庫中該得到的數據:
public static List<News> getNewsListFromDB(Context context){
final List<News> news = new ArrayList<News>();
final String dbPath = context.getDir("news", Context.MODE_PRIVATE) + "/" + DB4O_NAME;
ObjectContainer db = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), dbPath);
try {
ObjectSet<News> result = db.queryByExample(News.class);
news.addAll(result);
} finally {
db.close();
}
return news;
}
我怎麼可以創建方法,所以它不依賴於什麼類型我必須通過。更清楚它不取決於第二個參數是新聞,用戶或其他東西。當我想從db獲得新聞時也是如此。
我需要創建不依賴於類的類的一般方法。
編輯:我這樣做,但我不工作。更清楚地嘗試獲取列表,它什麼都不返回我不明白爲什麼 我做錯了什麼
public static void insertToDB(Context context, final Object obj,final String _key) {
final String dbPath = context.getDir(_key, Context.MODE_PRIVATE) + "/" + DB4O_NAME;
ObjectContainer db = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), dbPath);
try {
db.store(obj);
db.commit();
} finally {
db.close();
}
}
public static <T> void insertToDB(Context context, final List<T> newsList,String _key) {
for (T news : newsList) {
insertToDB(context, news,_key);
}
}
public static <T> List<T> getListFromDB(Context context, final java.lang.Class<T> tClass,final String _key) {
final List<T> news = new ArrayList<T>();
final String dbPath = context.getDir(_key, Context.MODE_PRIVATE) + "/" + DB4O_NAME;
ObjectContainer db = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), dbPath);
try {
ObjectSet<T> result = db.queryByExample(tClass);
news.addAll(result);
} finally {
db.close();
}
return news;
}
「我做這個,但我沒有工作,我做了什麼ng「這裏的問題究竟是什麼? – Smutje
當你嘗試時發生了什麼?永遠不要在提問時停下來「不起作用」。這完全不是一個完整的問題。告訴我們什麼是問題。 –
當我嘗試從db的getList它不返回。我不明白這裏插入或getList – pmb