SQLite データベースの更新を行うメソッドがあり、これを AsyncTask 内に配置して、より高速で信頼性の高いものにします。
ただし、データベースを更新するために必要なデータが 2 つあります。1 つは整数で、もう 1 つはここに示されている PrimaryKeySmallTank クラスのオブジェクトです。
AsyncTask の doInBackground メソッドの引数に params 配列を使用すると、Integer を渡すことができますが、このように 2 つの異なる型のデータがある場合はどうなるでしょうか。
整数が 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