有没有一种简单的方法从java转换Map<String,Object>
为android.content.ContentValues
?
android.content.ContentValues
用于android数据库编程,以将数据库行的数据保存为名称 - 值对.
背景:
我尝试将现有Android应用程序的businesslogic移植到j2se-swing-app
我的目标是拥有特定于android的代码和android独立代码,这些代码进入一个单独的lib,可以被android和swing-gui使用.
目前我正在分析
Repository-Database-Code依赖于使用的database-field-name-value对android.content.ContentValues
.
我认为我的android independat版本可以使用一个HashMap<String,Object>
insead ContentValues
并创建代码在两者之间进行转换.
Android依赖版本看起来像这样
// android dependant code in android-app
class AndroidTimeSliceCategoryRepsitory implements ICategoryRepsitory {
public long createTimeSliceCategory(final TimeSliceCategory category) {
// get values from android independant layer
Map<String, Object> columsToBeInserted = TimeSliceCategorySql.asHashMap(category);
// >>>> this is where i am stuck
ContentValues androidColumsToBeInserted = DbUtils.asContentValues(columsToBeInserted);
final long newID = AndroidTimeSliceCategoryRepsitory.DB.getWritableDatabase()
.insert(TimeSliceCategorySql.TIME_SLICE_CATEGORY_TABLE, null, androidColumsToBeInserted);
category.setRowId((int) newID);
return newID;
}
} …
Run Code Online (Sandbox Code Playgroud) java sqlite android platform-independent database-independent
例如,假设我有一张产品表.我应该存储日志信息,例如它是由谁创建的,上次编辑的,最后更新的日期,......或者如果日志信息与实际应用程序无关,我应该在审计表中分隔日志信息吗?
谢谢.