Android SQLItes onConfigure方法的奇怪行为

Android SQLItes onConfigure方法的奇怪行为,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,我试图在数据库表中实现一个外键,为此我需要在设置PRAGMA的地方调用onConfigure。然而,这个方法的实现给了我奇怪的行为当我使用@Override注释时,eclipse intellisense会要求我删除它,当我删除它时,我会收到一组不同的警告此方法不会覆盖当前构建目标的任何内容,但会在API级别16(当前目标为11)中进行 以下是我针对特定问题代码的代码片段: public static class DatabaseHelper extends SQLiteOpenHelper {

我试图在数据库表中实现一个外键,为此我需要在设置PRAGMA的地方调用onConfigure。然而,这个方法的实现给了我奇怪的行为当我使用@Override注释时,eclipse intellisense会要求我删除它,当我删除它时,我会收到一组不同的警告此方法不会覆盖当前构建目标的任何内容,但会在API级别16(当前目标为11)中进行

以下是我针对特定问题代码的代码片段:

public static class DatabaseHelper extends SQLiteOpenHelper {

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(DATABASE_CREATE0);
        db.execSQL(unique); 

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

    public void onConfigure(SQLiteDatabase db){
        System.out.println("Hello from on Configure"); 
        db.execSQL("PRAGMA foreign_keys=ON");

    }


}
这是我的清单SDK声明:

  <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="18" />

要阻止android lint引发错误,请在配置中注释
DatabaseOpenHelper
中重写为JellyBean或更高版本。更老的 android版本将继续使用已经检查过的旧机制 在onOpen覆盖中

您需要在类中添加
@TargetAPI
,如下所示:

    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
      @Override
      public void onConfigure(SQLiteDatabase db) {
          super.onConfigure(db); }

检查

尝试清理您的项目。如果我在方法声明之前添加@suppressint(“Override”),则不起作用。您在哪个方法中得到@Override error?您是否自己编写了这些方法或使用了intellisense?所有其他方法都是由intellisense编写的,尽管对于这种方法,问题代码随问题一起出现。对于
onConfigure
方法,您会遇到@Overrided错误?当目标API较低时会发生什么?它还会发出警告吗?或者,对于旧版本,编译器会跳过它吗?这样我的外键约束就失败了,这可能是因为您使用的是JAVA 5编译器。这很可能是因为您正在Java1.5和Java1.6之间切换。在1.5中不能用@Override标记接口实现,但在1.6中可以。