2017-08-17 1 views

Répondre

1

Vous semblez mélanger les drapeaux entiers.

Vous appelez openOrCreateDatabase() method in Context. Cette méthode ne prend pas en drapeau SQLiteDatabase mais Context drapeaux. Les drapeaux sont interprétés différemment et lorsque votre SDK cible est Nougat ou supérieur, vous obtenez cette exception.

openDatabase() static method in SQLiteDatabase prend en compte les indicateurs tels que SQLiteDatabase.OPEN_READONLY | SQLiteDatabase.CREATE_IF_NECESSARY. Cependant, vous pouvez utiliser SQLiteOpenHelper. Il facilite la gestion de votre base de données, et vous pouvez simplement appeler getReadableDatabase() pour indiquer que vous voulez une base de données en lecture seule.

+0

Merci. A travaillé pour moi – Anuradha

0

Les fichiers lisibles par tout le monde peuvent constituer un défaut de sécurité. Donc, google premier déconseillé, puis complètement supprimé. MODE_WORLD_READABLE

a été abandonné dans les versions jusqu'à Android M. Mais dans Android N il n'est plus pris en charge et déclenche SecurityException.

Alors que l'erreur indique, `

MODE_WORLD_READABLE est pas pris en charge

. Remove that flag from your getSharedPreferences() call, replacing it with MODE_PRIVATE ou 0.`

+1

OP n'a pas ce drapeau explicitement et n'appelle pas 'getSharedPreferences()' – laalto