我有这样的源代码:
if (proses == 3) {
HistoryConnector dbkonek = new HistoryConnector(this);
dbkonek.open();
//CURSOR air
cursorSumberAir = dbkonek.getOneDataSumberAir(rowId);
cursorKegunaanAir = dbkonek.getOneDataKegunaanAir(rowId);
cursorSifatAir = dbkonek.getOneDataSifatAir(rowId);
cursorPerlakuanAir = dbkonek.getOneDataPerlakuanAir(rowId);
cursorPenyimpananAir = dbkonek.getOneDataPenyimpananAir(rowId);
cursorSanitasi = dbkonek.getOneDataSanitasi(rowId);
cursorSumberAir.moveToFirst();
cursorKegunaanAir.moveToFirst();
cursorSifatAir.moveToFirst();
cursorPerlakuanAir.moveToFirst();
cursorPenyimpananAir.moveToFirst();
cursorSanitasi.moveToFirst();
} else {
DatabaseConnector dbkonek = new DatabaseConnector(this);
dbkonek.open();
//CURSOR air
cursorSumberAir = dbkonek.getOneDataSumberAir(rowId);
cursorKegunaanAir = dbkonek.getOneDataKegunaanAir(rowId);
cursorSifatAir = dbkonek.getOneDataSifatAir(rowId);
cursorPerlakuanAir = dbkonek.getOneDataPerlakuanAir(rowId);
cursorPenyimpananAir = dbkonek.getOneDataPenyimpananAir(rowId);
cursorSanitasi = dbkonek.getOneDataSanitasi(rowId);
cursorSumberAir.moveToFirst();
cursorKegunaanAir.moveToFirst();
cursorSifatAir.moveToFirst();
cursorPerlakuanAir.moveToFirst();
cursorPenyimpananAir.moveToFirst();
cursorSanitasi.moveToFirst();
}
我希望如此:如果proses == 3
,则dbkonek
创建新的HistoryConnector
。其他dbkonek
创建新的DatabaseConnector
,我是如何实现这一目标的?
因为当我做这样的来源时:
if (proses == 3) {
HistoryConnector dbkonek = new HistoryConnector(this);
dbkonek.open();
} else {
DatabaseConnector dbkonek = new DatabaseConnector(this);
dbkonek.open();
}
//CURSOR air
cursorSumberAir = dbkonek.getOneDataSumberAir(rowId);
cursorKegunaanAir = dbkonek.getOneDataKegunaanAir(rowId);
cursorSifatAir = dbkonek.getOneDataSifatAir(rowId);
cursorPerlakuanAir = dbkonek.getOneDataPerlakuanAir(rowId);
cursorPenyimpananAir = dbkonek.getOneDataPenyimpananAir(rowId);
cursorSanitasi = dbkonek.getOneDataSanitasi(rowId);
cursorSumberAir.moveToFirst();
cursorKegunaanAir.moveToFirst();
cursorSifatAir.moveToFirst();
cursorPerlakuanAir.moveToFirst();
cursorPenyimpananAir.moveToFirst();
cursorSanitasi.moveToFirst();
编辑,任何一个这样的连接器:
public class DatabaseConnector {
private static final String DB_NAME = "DataAssessment.db";
private SQLiteDatabase database;
private DatabaseOpenHelper dbOpenHelper;
public DatabaseConnector(Context context) {
dbOpenHelper = new DatabaseOpenHelper(context, DB_NAME, null, 1);
}
}
上面的源代码,dbkonek
无法在游标中检测到。我怎么可以简单这个源代码。
谢谢你提前
答案 0 :(得分:1)
您的类层次结构必须设计为HistoryConnector
和DatabaseConnector
共享一个公共基类或接口,大概称为{{1定义任何类型的 Connector 上可用的操作集。然后你会做:
Connector