Langue

ContentProvider.OnCreate Méthode

Définition

Implémentez cette opération pour initialiser votre fournisseur de contenu au démarrage.

[Android.Runtime.Register("onCreate", "()Z", "GetOnCreateHandler")]
public abstract bool OnCreate();
[<Android.Runtime.Register("onCreate", "()Z", "GetOnCreateHandler")>]
abstract member OnCreate : unit -> bool

Retours

true si le fournisseur a été correctement chargé, false sinon

Attributs

Remarques

Implémentez cette opération pour initialiser votre fournisseur de contenu au démarrage. Cette méthode est appelée pour tous les fournisseurs de contenu inscrits sur le thread principal de l’application au moment du lancement de l’application. Il ne doit pas effectuer de longues opérations, ou le démarrage de l’application sera retardé.

Vous devez différer l’initialisation nontriviale (par exemple, l’ouverture, la mise à niveau et l’analyse des bases de données) jusqu’à ce que le fournisseur de contenu soit utilisé (via #query, #insertetc.). L’initialisation différée accélère le démarrage de l’application, évite le travail inutile si le fournisseur n’est pas nécessaire et arrête les erreurs de base de données (comme un disque complet) d’interrompre le lancement de l’application.

Si vous utilisez SQLite, android.database.sqlite.SQLiteOpenHelper il s’agit d’une classe utilitaire utile qui facilite la gestion des bases de données et différera automatiquement l’ouverture jusqu’à la première utilisation. Si vous utilisez SQLiteOpenHelper, veillez à éviter d’appeler android.database.sqlite.SQLiteOpenHelper#getReadableDatabase ou android.database.sqlite.SQLiteOpenHelper#getWritableDatabase à partir de cette méthode. (Remplacez android.database.sqlite.SQLiteOpenHelper#onOpen plutôt l’initialisation de la base de données lors de sa première ouverture.)

Java documentation pour android.content.ContentProvider.onCreate().

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 à