Langue

ContentProvider.Canonicalize(Uri) Méthode

Définition

Implémentez ceci pour prendre en charge la canonisation des URI qui font référence à votre fournisseur de contenu.

[Android.Runtime.Register("canonicalize", "(Landroid/net/Uri;)Landroid/net/Uri;", "GetCanonicalize_Landroid_net_Uri_Handler")]
public virtual Android.Net.Uri? Canonicalize(Android.Net.Uri url);
[<Android.Runtime.Register("canonicalize", "(Landroid/net/Uri;)Landroid/net/Uri;", "GetCanonicalize_Landroid_net_Uri_Handler")>]
abstract member Canonicalize : Android.Net.Uri -> Android.Net.Uri
override this.Canonicalize : Android.Net.Uri -> Android.Net.Uri

Paramètres

url
Uri

Uri à canoniser.

Retours

Uri

Retourne la représentation canonique de <var>url</var>, ou null si la canonisation de cet URI n’est pas prise en charge.

Attributs

Remarques

Implémentez ceci pour prendre en charge la canonisation des URI qui font référence à votre fournisseur de contenu. Un URI canonique est un URI qui peut être transporté entre les appareils, la sauvegarde/restauration et d’autres contextes, et qui peut toujours faire référence au même élément de données. En règle générale, cela est implémenté en ajoutant des paramètres de requête à l’URI permettant au fournisseur de contenu de vérifier qu’un URI canonique entrant fait référence aux mêmes données qu’à l’origine prévues et, si ce n’est pas le cas, de trouver ces données (le cas échéant) dans l’environnement actuel.

Par exemple, si le fournisseur de contenu contient des personnes et qu’un URI normal dans celui-ci est créé avec un index de ligne dans cette base de données people, la représentation cananicale peut avoir un param de requête supplémentaire à la fin qui spécifie le nom de la personne pour laquelle il est destiné. Par la suite, les appels au fournisseur avec cet URI recherchent la ligne de l’index de base de cet URI et, s’il ne correspond pas ou si son nom d’entrée ne correspond pas au nom dans l’analyseur de requête, effectuez une requête sur sa base de données pour trouver la ligne appropriée à utiliser.

Si vous implémentez la prise en charge des URI canoniques, <b>tous/b< appels> entrants avec des URI (y compris celui-ci) doivent effectuer cette vérification et la récupération des URI canoniques qu’ils reçoivent. En outre, vous devez également implémenter #uncanonicalize pour supprimer la canonisation de l’une de ces URI.

L’implémentation par défaut de cette méthode retourne null, indiquant que les URI canoniques ne sont pas pris en charge.

Java documentation pour android.content.ContentProvider.canonicalize(android.net.Uri).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à