2010-05-01 28 views
4

Je gère directement les médias (images, sons) de mon application, en les lisant et en les enregistrant sur la carte SD. Dois-je utiliser le MediaStore à la place? Je ne suis pas sûr de ce que le MediaStore est, et le javadoc n'est pas très utile.Gestion des médias à l'aide de l'Android MediaStore

Quand une application doit-elle utiliser le MediaStore? Un bref aperçu des avantages et inconvénients du MediaStore sera très apprécié.

Répondre

3

Je ne suis pas un expert en la matière, mais dans la mesure de mon bon sens, c'est un moyen facile de rechercher certains types de fichiers. Si votre application dispose d'une bibliothèque de types, l'utilisation de MediaStore au lieu de la recherche par vous-même est plus utile, plus rapide et moins gourmande en énergie. Aussi, vous pouvez être assuré que ce sont tous les fichiers présents dans le système.

J'espère que cela aide.

4

En tant qu'utilisateur Android. Je pense que MediaStore est le «lien public» entre l'application Android Media Scanner interne (vous pouvez l'appeler manuellement via des pièces de rechange) et des applications tierces, comme la vôtre.

Je suppose que MediaStore est ce "lien public" basé sur son emballage android.provider.

En tant que fournisseurs dans Android, comment les applications fournissent des informations à d'autres applications

Si MediaStore est un ContentProvider, la lecture d'informations peuplée par MediaScanner.

Alors MediaStore est pour les médias de l'utilisateur, tels que la musique, la vidéo, les images, etc.

pour les sonneries, les notifications; Je pense que vous êtes censé utiliser android.media.RingtoneManager

Aussi ne hardcode pas le chemin "/ sdcard /" Il y a un appel api pour l'obtenir, Environment.getExternalStorageDirectory()

http://twitter.com/cyanogen/status/13980762583

====

le pro est que Scanner médias fonctionne chaque fois que vous montez le stockage amovible au téléphone, et il scanne également la mémoire interne (si elle a tout comme le HTC EVO & incroyable)

+1

+ 1 f ou le fichier Environment.getExternalStorageDirectory() –