我有一个方法用于更新SQLite数据库,并将其放入AsyncTask中以使其更快、更可靠。
但是,更新数据库需要两个数据:一个是整数,另一个是PrimaryKeySmallTank类的对象,如下所示。
通过在AsyncTask的doInBackground方法的参数中使用params数组,我可以传递一个整数,但如果我有两种不同类型的数据怎么办?
如果将整数存储在int... params [0]中,则无法在params [1]中存储不同类型的对象,那该怎么办呢?
我想要传递到AsyncTask中的对象。
public class PrimaryKeySmallTank {
int contractNumber;
int customerCode;
int septicCode;
String workDate;
int workNumber;
}
我正在使用的AsyncTask
public class UpdateInfoAsyncTask extends AsyncTask<Integer, Void, Void>{
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
}
@Override
protected Void doInBackground(Integer... params) {
Integer mIntegerIn = params[0]; // this is what I want to do, example
PrimaryKeySmallTank mPrimaryKeySmallTank = params[1]; // different data type to pass in
Database db = new Database(InspectionInfoSelectionList.this);
db.openToWrite();
db.updateWorkClassificationByRow(mPrimaryKeySmallTank, mIntegerIn);
db.close();
return null;
}
} // end UpdateInfoAsyncTask
use intValue
。你可以在该类范围内需要时使用这些成员变量。 :) - Chintan Rathod