在我的 android 应用程序中,我有各种“实体”,例如用户定义的。我正在使用具有默认Select
、Insert
和功能Update
的单个 DbOperations 类。Delete
异步任务用作中介。它位于我的实体和 DbOperations 类之间,并异步执行所有操作。这是一个例子。
ASYNC CLASS - 带有插入方法代码
private DbResponse InsertUser() {
ContentValues cntValues = GetCrmUserContentVal();
long result = _dbConn.InsertRecord(cntValues, TABLE_NAME);
DbResponse dbResponse = new DbResponse();
if(result == -1)
{
dbResponse.setStatus(false);
}
else {
dbResponse.setStatus(true);
dbResponse.setID(result);
}
return dbResponse;
}
CRM USER 实体类 - 插入方法
public void InsertintoDb()
{
new CRMUserDbOperations(this,this,DbOperationType.Insert,getCurrentContext()).execute();
}
DbResponse - 返回类型类是一个单独的类 -
private Boolean Status;
private String ErrorMessage;
private Cursor Data;
private long ID;
private DbOperationType dbOpType;
在异步任务的doBackground过程中,我有这个开关代码 -
switch (_DbOpType) { // Enum type.
case Insert:
dbResponse = InsertUser();
break;
case Select:
dbResponse = SelectUser();
break;
case Update:
dbResponse = UpdateUser();
break;
default:
throw new InvalidParameterException(
_Context.getString(R.string.invalid_io));
}
如您所见,此异步任务包含我可能必须在实体上执行的所有各种操作的代码。对于其他实体,我也会有相同的结构......
现在我的问题是,我能以更好的方式做到这一点吗?