Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
294 L’art du développement Android
Ce code est quasiment identique à celui de la méthode update() que nous avons décrite
précédemment – il supprime un sous-ensemble de la collection ou une instance unique (si
elle vérifie la clause WHERE passée en paramètre).
getType()
getType() est la dernière méthode qu’il faut implémenter. Elle prend une Uri en paramètre et renvoie le type MIME qui lui est associé. Cette Uri pouvant désigner une
collection ou une instance, vous devez la tester pour renvoyer le type MIME correspondant.
Voici l’implémentation de la méthode getType() de Provider :
@Override
public String getType(Uri url) {
if (isCollectionUri(url)) {
return(getCollectionType());
}
return(getSingleType());
}
Comme vous pouvez le constater, l’essentiel de ce code est délégué aux méthodes privées
getCollectionType() et getSingleType() :
private String getCollectionType() {
return("vnd.android.cursor.dir/vnd.commonsware.constant");
}
private String getSingleType() {
return("vnd.android.cursor.item/vnd.commonsware.constant");
}
Étape n° 2 : fournir une Uri
Vous devez également ajouter un membre public statique contenant l’Uri de chaque
collection supportée par votre fournisseur de contenu. Généralement, on utilise une Uri
constante, publique et statique dans la classe du fournisseur lui-même :
public static final Uri CONTENT_URI=
Uri.parse("content://com.commonsware.android.tourit.Provider/tours");
Vous pouvez utiliser le même espace de noms pour l’Uri de contenu que pour vos classes
Java, afin de réduire le risque de collisions de noms.
Livre Android.book Page 294 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 309/391

Suivant