Besoin d'aide pour utiliser des bases de données dans Android.Insertion de données dans la base de données du service d'intention de veille dans Android
J'essaie d'insérer des données dans un db fourni par MoEngage
de doWakefulWork()
à l'intérieur WakefulIntentService
.
Voilà ma fonction pour insérer des données dans db:
private void addToDb(Bundle extras) {
String msgDetails = "my string";
ContentValues values = new ContentValues();
if (null != msgDetails) {
values.put("msg", msgDetails);
}
Uri newRecord = App.context.getContentResolver().insert(MoEDataContract.MessageEntity.getContentUri(App.context),
values);
App.context.getContentResolver().notifyChange(newRecord, (ContentObserver) null);
if (MoEHelperUtils.isDebugEnabled()) {
if (null != newRecord) {
Log.d(MoEHelper.TAG, "PushMessagingListener: added new record with entry: " + newRecord);
} else {
Log.d(MoEHelper.TAG, "PushMessagingListener: FAILED to add new record with entry: ");
}
}
}
Cependant, quand j'ouvre l'application et essayer d'interroger la base de données, le curseur retourne 0 nombre.
Si j'essaie de lancer une requête juste après avoir ajouté des valeurs à doWakefulWork()
uniquement, le curseur affiche la valeur dans la base de données.
Cursor cursor = MoEController.getAllMessages(App.context);
Est-ce que je manque quelque chose ici? Toute aide serait appréciée. Merci!