Je suis un débutant avec les fournisseurs de contenu et j'ai fait référence à this document afin de comprendre et de créer un fournisseur de contenu personnalisé.Fournisseur de contenu - multiple où les paramètres
J'ai des chemins comme celui-ci dans la classe de descripteurs de contenu pour fournisseur de contenu:
public static final String PATH = "tbl_reco_index_contents";
public static final String PATH_FOR_ID = "tbl_reco_index_contents/*";
Avec le code ci-dessous, je suis en mesure de récupérer les données des colonnes dont j'ai besoin, sans aucun problème:
public static final String AUTHORITY = "com.nyk.launcherprovider";
private static final Uri BASE_URI = Uri.parse("content://" + AUTHORITY);
public static final String PATH = "tbl_reco_index_contents";
public static final Uri CONTENT_URI = BASE_URI.buildUpon().appendPath(PATH).build();
cur = this.getContentResolver().query(CONTENT_URI, new String[]{
"reco_index_content_name",
"reco_index_content_url"
}, null, null, null);
cur.moveToFirst();
for(int i=0;i<cur.getCount();i++){
System.out.println("Name is:"+cur.getString(10));
System.out.println("URL is:"+cur.getString(11));
cur.moveToNext();
}
Je ne sais pas, comment je peux récupérer des données en utilisant une condition where ici. c'est à dire; Si j'ai besoin d'ajouter une condition comme WHERE user_profile_number = 2 and pkg_name = 'abc'
, comment puis-je gérer cela avec le code ci-dessus.
Toute aide est très appréciée.
Vous pouvez également utiliser des arguments de sélection si vous n'êtes pas sûr de ce qui va venir dans les valeurs de la clause where. – anon