首先让你知道我是Android新手。
尝试创建多个类来处理数据库表操作。创建了一个数据库帮助程序,如下所示:
public class WSDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "wsemp";
private static final int DATABASE_VERSION = 5;
public WSDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase database) {
.............
}
@Override
public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {
................
}
}
创建了一个处理数据库表操作的类:
public class CustomerBean {
private WSDatabaseHelper database;
@Override
public boolean onCreate() {
database = new WSDatabaseHelper(getContext());
return false;
}
public boolean insertObject(valObj) {
SQLiteDatabase db = database.getWritableDatabase();
db.insert(.......);
}
}
但是现在我不确定如何从我的活动或会话文件中调用这个insertObject函数。我试过CustomerBean.isnertObject(obj),但它要求将方法更改为静态。
答案 0 :(得分:2)
在这种情况下,有两种方法可以调用方法
创建类的对象并调用方法
// Create object
CustomerBean customerBean = new CustomerBean();
// call the method
customerBean.insertObject(<insert object here>);
使方法成为静态,并从类名
中调用它// In CustomerBean class
public static boolean insertObject(valObj) {
SQLiteDatabase db = database.getWritableDatabase();
db.insert(.......);
}
//In WSDatabaseHelper class
CustomerBean.insertObject(<object name here>);
在这里要纠正的更多事情是在 CustomerBean 类中编写了
@Override
public boolean onCreate() {
database = new WSDatabaseHelper(getContext());
return false;
}
哪个不对。 Android的Activity类的onCreate()方法 只有当您的班级正在扩展活动类
时,您才可以为此方法添加 @Override 注释希望这会对你有所帮助
答案 1 :(得分:0)
将static
修饰符添加到您的方法中。然后你应该能够在类之间访问它。