0

在 openhelper 我有 createQuestionDb()。我如何在另一个班级(首选项)中使用此活动?

public class OpenHelper extends SQLiteOpenHelper {
 public OpenHelper(Context context, final boolean questionDb) {
        super(context, dbName, null, 1);
}
         public void onCreate(SQLiteDatabase db) {

         db.execSQL("CREATE TABLE ... " );
         createQuestionDb(db,myvalue);

        }

     public void createQuestionDb(SQLiteDatabase db, String myvalue ) {
     ContentValues _Values = new ContentValues();
    _Values.put("Text", myvalue);  
    db.insert("table", null, _Values);   

    }
}

将使用 openhelper 的类:

public class Preferences extends Activity {

public void insertdata () {
createQuestionDb();
}
4

1 回答 1

0

很难说你在做什么,但看起来你正在扩展 SQLiteOpenHelper 所以尝试一种稍微不同的方法:

public void createQuestionDb(String myvalue) {
    SQLiteDatabase db = getWritableDatabase();
    ContentValues _Values = new ContentValues();
    _Values.put("Text", myvalue);  
    db.insert("table", null, _Values);
    db.close();
}

现在您可以调用createQuestionDb(string)任何您想要的课程。


为了防止递归调用,将第一个插入手动添加到onCreate()

public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE ... " );
    ContentValues _Values = new ContentValues();
    _Values.put("Text", myvalue);  
    db.insert("table", null, _Values);   
}
于 2013-04-03T16:09:30.753 回答