2010-11-30 8 views
1

J'ai une application android qui gère une base de données sql-lite et j'ai besoin de beable enregistrer un PendingIntent unique, et un long unique pour chaque rowId dans la base de données. Le PendingIntent et long doivent être joignable de toutes les classes d'applications afin que je puisse facilement 1) les récupérer 2) l'annuler (le PendingIntent) et 3) les changer de n'importe où est le code d'applications.enregistrer PendingIntents

Je suis sûr que quelqu'un peut vous aider! Merci :)

PS. si cela fait une différence, j'ai 2 bases de données sql qui ont tous deux besoin de cela.

Répondre

0

Je suggère:

  1. Vous avez un service qui est chargé au démarrage avec l'événement BOOT_COMPLETED.
  2. Le service interroge la base de données et crée une carte d'objets spéciaux, qui contiennent PendingIntent, votre long unique et plus encore. A partir de l'activité, vous vous liez à un service et vous lui demandez de faire quelque chose, est-ce que ce serait renvoyer une intention, ou créer une nouvelle ou quoi que ce soit.
  3. La classe d'application peut connaître le service de l'activité, vous avez lié au service.

Je ne suis pas sûr que le service est nécessaire ici. Si votre travail avec des intentions en attente commence à partir de l'activité Concréate, vous pouvez simplifier cette solution en utilisant le modèle Singleton pour la classe, qui contient les données d'intentions en attente.

+0

désolé, j'aurais dû mentionner que je suis nouveau dans le jeu pour ainsi dire, il faudra donc plus d'explications :) je sais comment faire le numéro 1. mais je ne comprends pas vraiment le numéro 2. numéro 3 et 4 i Je suppose que je dois juste lire sur la façon d'utiliser un service pour comprendre. Si vous pouviez me fournir un échantillon rapide de la façon dont ces 4 étapes seraient mises en œuvre, je serais très reconnaissant, juste pour avoir l'idée :) merci – Emil