помечены как недействительные, а последние два четко задокументированы как правильные.
аю, что это новая ошибка с момента перехода на Android Studio 3.0. Я получаю ошибку синтаксиса lint:
<pragma value> expected, got 'ON'
Я получаю эту ошибку только на первом из следующих двух методов:
private static void setForeignKeyConstraintsEnabled(@NonNull SQLiteDatabase db) {
if (!db.isReadOnly()) {
db.execSQL("PRAGMA foreign_keys=ON;");
}
}
private static void setForeignKeyConstraintsDisabled(@NonNull SQLiteDatabase db) {
if (!db.isReadOnly()) {
db.execSQL("PRAGMA foreign_keys=OFF;");
}
}
Я нашел только одинпредлагаем исправить в интернете на момент написания, Это на немецком языке и говорит, что я не должен использовать константные строки для прагмы, но должен использовать строковый параметр.
String query = String.format ("PRAGMA foreign_keys = %s","ON");
db.execSQL(query);
Но я подозреваю, что если это устранит ошибку, то только сделает код слишком сложным для обнаружения правилом lint.
Почему быНА выкинуть ошибку а неOFF? Мой синтаксис неправильный?