Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 28
Construction d’un fournisseur de contenu 295
Étape n° 3 : déclarer les propriétés
Pour définir les noms des propriétés de votre fournisseur, vous devez créer une classe
publique statique implémentant l’interface BaseColumns :
public static final class Constants implements BaseColumns {
public static final Uri CONTENT_URI
=Uri.parse("content://com.commonsware.android.constants.Provider/
constants");
public static final String DEFAULT_SORT_ORDER="title";
public static final String TITLE="title";
public static final String VALUE="value";
}
Si vous utilisez SQLite pour stocker les données, les valeurs des constantes correspondant
aux noms des propriétés doivent être les noms des colonnes respectives de la table, afin de
pouvoir simplement passer la projection (tableau de propriétés) lors de l’appel à query()
ou le ContentValues lors d’un appel à insert() ou update().
Vous remarquerez que les types des propriétés ne sont pas précisés. Il peut s’agir de chaînes, d’entiers, etc. – en réalité, ils sont limités par les types autorisés par les méthodes
d’accès du Cursor. Le fait que rien ne permette de tester les types signifie que vous devez
documenter soigneusement vos propriétés afin que les utilisateurs de votre fournisseur de
contenu sachent à quoi s’attendre.
Étape n° 4 : modifier le manifeste
Ce qui lie l’implémentation du fournisseur de contenu au reste de l’application se trouve
dans le fichier AndroidManifest.xml. Il suffit d’ajouter un élément comme
fils de l’élément :
android:name=".Provider"
android:authorities="com.commonsware.android.tourit.Provider" />
La propriété android:name est le nom de la classe du fournisseur de contenu, préfixé par
un point pour indiquer qu’il se trouve dans l’espace de noms des classes de cette application.
La propriété android:authorities est une liste des autorités reconnues par le fournisseur de contenu, séparées par des points-virgules. Plus haut dans ce chapitre, nous avons
vu qu’une Uri de contenu était constituée d’un schéma, d’une autorité, d’un chemin de
types de données et d’un identifiant d’instance. Chaque autorité de chaque valeur
CONTENT_URI devrait être incluse dans la liste android:authorities.
Livre Android.book Page 295 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 28
Construction d’un fournisseur de contenu 295
Étape n° 3 : déclarer les propriétés
Pour définir les noms des propriétés de votre fournisseur, vous devez créer une classe
publique statique implémentant l’interface BaseColumns :
public static final class Constants implements BaseColumns {
public static final Uri CONTENT_URI
=Uri.parse("content://com.commonsware.android.constants.Provider/
constants");
public static final String DEFAULT_SORT_ORDER="title";
public static final String TITLE="title";
public static final String VALUE="value";
}
Si vous utilisez SQLite pour stocker les données, les valeurs des constantes correspondant
aux noms des propriétés doivent être les noms des colonnes respectives de la table, afin de
pouvoir simplement passer la projection (tableau de propriétés) lors de l’appel à query()
ou le ContentValues lors d’un appel à insert() ou update().
Vous remarquerez que les types des propriétés ne sont pas précisés. Il peut s’agir de chaînes, d’entiers, etc. – en réalité, ils sont limités par les types autorisés par les méthodes
d’accès du Cursor. Le fait que rien ne permette de tester les types signifie que vous devez
documenter soigneusement vos propriétés afin que les utilisateurs de votre fournisseur de
contenu sachent à quoi s’attendre.
Étape n° 4 : modifier le manifeste
Ce qui lie l’implémentation du fournisseur de contenu au reste de l’application se trouve
dans le fichier AndroidManifest.xml. Il suffit d’ajouter un élément
fils de l’élément
android:authorities="com.commonsware.android.tourit.Provider" />
La propriété android:name est le nom de la classe du fournisseur de contenu, préfixé par
un point pour indiquer qu’il se trouve dans l’espace de noms des classes de cette application.
La propriété android:authorities est une liste des autorités reconnues par le fournisseur de contenu, séparées par des points-virgules. Plus haut dans ce chapitre, nous avons
vu qu’une Uri de contenu était constituée d’un schéma, d’une autorité, d’un chemin de
types de données et d’un identifiant d’instance. Chaque autorité de chaque valeur
CONTENT_URI devrait être incluse dans la liste android:authorities.
Livre Android.book Page 295 Dimanche, 8. novembre 2009 12:23 12
