2011-05-19 5 views
0

J'ai un problème étrange lors de l'accès à android sqlite datbase. J'ai une ligne de code qui s'ouvre supposé ouvrir le fichier de base de données, mais il affiche une exception de pointeur nul comme une exception IOException.Android SQLite Database IO Error

SQLiteDatabase myDB = this.openOrCreateDatabase("PasswordManager", MODE_PRIVATE, null); 

Cette classe d'activité ne fait pas partie d'une classe java standard. Je sais que la base de données existe car j'utilise la même ligne dans d'autres parties du code, la seule différence, partout ailleurs est dans une classe qui étend une activité.

Merci pour toute aide que vous pouvez offrir.

Répondre

2

Transmettez une référence de contexte de l'activité appelante à cette classe Java et utilisez-la pour vous connecter à votre base de données.

+2

Pour développer la réponse de Haphazard. openOrCreateDatabase() est une méthode de la classe Context. Vous ne pouvez pas l'appeler avec "this" à moins que vous ne le fassiez à partir d'une classe Activity (Context). Passez votre Context à votre autre classe et appelez openOrCreateDatabase() avec. – Maximus

+0

Merci à vous deux. a bien fonctionné. – Boardy