ResourceBundle Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux.
[Android.Runtime.Register("java/util/ResourceBundle", DoNotGenerateAcw=true)]
public abstract class ResourceBundle : Java.Lang.Object
[<Android.Runtime.Register("java/util/ResourceBundle", DoNotGenerateAcw=true)>]
type ResourceBundle = class
inherit Object
- Héritage
- Dérivé
- Attributs
Remarques
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. Lorsque votre programme a besoin d’une ressource spécifique aux paramètres régionaux, par String exemple, votre programme peut le charger à partir du bundle de ressources approprié pour les paramètres régionaux de l’utilisateur actuel. De cette façon, vous pouvez écrire du code de programme qui est largement indépendant des paramètres régionaux de l’utilisateur isolant la plupart, si ce n’est pas le cas, des informations spécifiques aux paramètres régionaux dans les bundles de ressources.
Cela vous permet d’écrire des programmes qui peuvent : UL<LI être facilement localisé, ou traduit, en différentes langues >LI gérer plusieurs paramètres régionaux à la fois <LI>< être facilement modifié ultérieurement pour prendre en charge encore plus de paramètres régionaux >/UL<><>
Les groupes de ressources appartiennent aux familles dont les membres partagent un nom de base commun, mais dont les noms ont également des composants supplémentaires qui identifient leurs paramètres régionaux. Par exemple, le nom de base d’une famille d’offres groupées de ressources peut être « MyResources ». La famille doit avoir un bundle de ressources par défaut qui a simplement le même nom que sa famille - « MyResources » et sera utilisé comme bundle de dernier recours si un paramètre régional spécifique n’est pas pris en charge. La famille peut ensuite fournir autant de membres spécifiques aux paramètres régionaux que nécessaire, par exemple un allemand nommé « MyResources_de ».
Chaque ensemble de ressources d’une famille contient les mêmes éléments, mais les éléments ont été traduits pour les paramètres régionaux représentés par ce groupe de ressources. Par exemple, « MyResources » et « MyResources_de » peuvent avoir un String bouton utilisé pour annuler les opérations. Dans « MyResources », il String peut contenir « Cancel » et dans « MyResources_de », il peut contenir « Abbrechen ».
S’il existe différentes ressources pour différents pays, vous pouvez effectuer des spécialisations : par exemple, « MyResources_de_CH » contient des objets pour la langue allemande (de) en Suisse (CH). Si vous souhaitez uniquement modifier certaines des ressources de la spécialisation, vous pouvez le faire.
Lorsque votre programme a besoin d’un objet spécifique aux paramètres régionaux, il charge la classe à l’aide de la ResourceBundle#getBundle(java.lang.String, java.util.Locale) getBundle méthode : <blockquote>
ResourceBundle myResources =
ResourceBundle.getBundle("MyResources", currentLocale);
</blockquote>
Les ensembles de ressources contiennent des paires clé/valeur. Les clés identifient de manière unique un objet spécifique aux paramètres régionaux dans le bundle. Voici un exemple de paire ListResourceBundle clé/valeur contenant deux paires clé/valeur : <blockquote>
public class MyResources extends ListResourceBundle {
protected Object[][] getContents() {
return new Object[][] {
// LOCALIZE THE SECOND STRING OF EACH ARRAY (e.g., "OK")
{"OkKey", "OK"},
{"CancelKey", "Cancel"},
// END OF MATERIAL TO LOCALIZE
};
}
}
<Les clés /blockquote> sont toujours Strings. Dans cet exemple, les clés sont « OkKey » et « CancelKey ». Dans l’exemple ci-dessus, les valeurs sont également Strings--« OK » et « Cancel »- mais elles n’ont pas besoin d’être. Les valeurs peuvent être n’importe quel type d’objet.
Vous récupérez un objet à partir d’un ensemble de ressources à l’aide de la méthode getter appropriée. Étant donné que « OkKey » et « CancelKey » sont les deux chaînes, vous devez les getString récupérer : <blockquote>
button1 = new Button(myResources.getString("OkKey"));
button2 = new Button(myResources.getString("CancelKey"));
</blockquote> Les méthodes getter nécessitent toutes la clé en tant qu’argument et retournent l’objet s’il est trouvé. Si l’objet est introuvable, la méthode getter lève un MissingResourceException.
getStringEn outre, ResourceBundle fournit également une méthode pour obtenir des tableaux de chaînes, getStringArrayainsi qu’une méthode générique getObject pour tout autre type d’objet. Lors de l’utilisation getObject, vous devez convertir le résultat en type approprié. Par exemple : <blockquote>
int[] myIntegers = (int[]) myResources.getObject("intList");
</blockquote>
La plateforme Java fournit deux sous-classes de ResourceBundle, ListResourceBundle et PropertyResourceBundle, qui fournissent un moyen assez simple de créer des ressources. Comme vous l’avez vu brièvement dans un exemple précédent, ListResourceBundle gère sa ressource en tant que liste de paires clé/valeur.
PropertyResourceBundle utilise un fichier de propriétés pour gérer ses ressources.
Si ListResourceBundle vous ne répondez pas PropertyResourceBundle à vos besoins, vous pouvez écrire votre propre ResourceBundle sous-classe. Vos sous-classes doivent remplacer deux méthodes : handleGetObject et getKeys().
L’implémentation d’une ResourceBundle sous-classe doit être thread-safe si elle est utilisée simultanément par plusieurs threads. Les implémentations par défaut des méthodes non abstraites de cette classe, ainsi que les méthodes des sous-classes concrètes connues directes ListResourceBundle et PropertyResourceBundle sont thread-safe.
<h3>ResourceBundle.Control</h3>
La ResourceBundle.Control classe fournit des informations nécessaires pour effectuer le processus de chargement groupé par les getBundle méthodes de fabrique qui prennent une ResourceBundle.Control instance. Vous pouvez implémenter votre propre sous-classe pour activer les formats de bundle de ressources non standard, modifier la stratégie de recherche ou définir des paramètres de mise en cache. Pour plus d’informations, reportez-vous aux descriptions de la classe et à la #getBundle(String, Locale, ClassLoader, Control) getBundle méthode de fabrique.
<Gestion du> cache h3</h3>
Les instances de bundle de ressources créées par les getBundle méthodes de fabrique sont mises en cache par défaut et les méthodes de fabrique retournent la même instance de bundle de ressources plusieurs fois si elles ont été mises en cache.
getBundle Les clients peuvent effacer le cache, gérer la durée de vie des instances de bundle de ressources mises en cache à l’aide de valeurs de durée de vie, ou spécifier qu’ils ne sont pas autorisés à mettre en cache les instances de bundle de ressources. Reportez-vous aux descriptions de la méthode <>de fabrique de code<getBundle/code getBundle>/code#clearCache(ClassLoader) clearCache #getBundle(String, Locale, ClassLoader, Control) Control#getTimeToLive(String, Locale) ResourceBundle.Control.getTimeToLiveet Control#needsReload(String, Locale, String, ClassLoader, ResourceBundle, long) ResourceBundle.Control.needsReload pour plus d’informations.
<exemple> h3</h3>
Voici un exemple très simple de ResourceBundle sous-classe, MyResourcesqui gère deux ressources (pour un plus grand nombre de ressources, vous utiliseriez probablement un Map). Notez que vous n’avez pas besoin de fournir une valeur si un « niveau parent » ResourceBundle gère la même clé avec la même valeur (comme pour l’okKey ci-dessous).
<blockquote>
// default (English language, United States)
public class MyResources extends ResourceBundle {
public Object handleGetObject(String key) {
if (key.equals("okKey")) return "Ok";
if (key.equals("cancelKey")) return "Cancel";
return null;
}
public Enumeration<String> getKeys() {
return Collections.enumeration(keySet());
}
// Overrides handleKeySet() so that the getKeys() implementation
// can rely on the keySet() value.
protected Set<String> handleKeySet() {
return new HashSet<String>(Arrays.asList("okKey", "cancelKey"));
}
}
// German language
public class MyResources_de extends MyResources {
public Object handleGetObject(String key) {
// don't need okKey, since parent level handles it.
if (key.equals("cancelKey")) return "Abbrechen";
return null;
}
protected Set<String> handleKeySet() {
return new HashSet<String>(Arrays.asList("cancelKey"));
}
}
</blockquote> Vous n’avez pas à vous limiter à l’utilisation d’une seule famille de ResourceBundles. Par exemple, vous pouvez avoir un ensemble d’offres groupées pour les messages d’exception, ExceptionResources (ExceptionResources_fr, ExceptionResources_de, ...), et un pour les widgets, WidgetResource (WidgetResources_fr, WidgetResources_de...) ; fractionnant les ressources comme vous le souhaitez.
Ajouté dans la version 1.1.
Java documentation pour java.util.ResourceBundle.
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.
Constructeurs
| Nom | Description |
|---|---|
| ResourceBundle() |
Constructeur unique. |
| ResourceBundle(IntPtr, JniHandleOwnership) |
Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime. |
Propriétés
| Nom | Description |
|---|---|
| BaseBundleName |
Retourne le nom de base de ce bundle, s’il est connu ou |
| Class |
Retourne la classe runtime de ce |
| Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
| JniIdentityHashCode |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. (Hérité de Object) |
| JniManagedPeerState |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. (Hérité de JavaObject) |
| JniPeerMembers |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. |
| Keys |
Retourne les noms des ressources contenues dans ce |
| Locale |
Retourne les paramètres régionaux de ce bundle de ressources. |
| Parent |
Ensemble parent de ce bundle. |
| PeerReference |
Obtient la référence d’objet JNI pour cet homologue Java. (Hérité de Object) |
| ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
| ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
Méthodes
| Nom | Description |
|---|---|
| ClearCache() |
Supprime tous les bundles de ressources du cache chargés à l’aide du chargeur de classes de l’appelant. |
| ClearCache(ClassLoader) |
Supprime tous les bundles de ressources du cache chargés par le chargeur de classes donné. |
| Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. (Hérité de JavaObject) |
| ContainsKey(String) |
Détermine si l’élément donné |
| Dispose() |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| Dispose(Boolean) |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| DisposeUnlessReferenced() |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. (Hérité de JavaObject) |
| Equals(Object) |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. (Hérité de JavaObject) |
| Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
| GetBundle(String, Locale, ClassLoader, ResourceBundle+Control) |
Obtient un bundle de ressources à l’aide du nom de base spécifié, des paramètres régionaux par défaut et du chargeur de classes de l’appelant. |
| GetBundle(String, Locale, ClassLoader) |
Obtient un bundle de ressources à l’aide du nom de base, des paramètres régionaux et du chargeur de classes spécifiés. |
| GetBundle(String, Locale, ResourceBundle+Control) |
Obtient un bundle de ressources à l’aide du nom de base spécifié, des paramètres régionaux par défaut et du chargeur de classes de l’appelant. |
| GetBundle(String, Locale) |
Obtient un bundle de ressources à l’aide du nom de base et des paramètres régionaux spécifiés, ainsi que du chargeur de classes de l’appelant. |
| GetBundle(String, ResourceBundle+Control) |
Obtient un bundle de ressources à l’aide du nom de base spécifié, des paramètres régionaux par défaut et du chargeur de classes de l’appelant. |
| GetBundle(String) |
Obtient un bundle de ressources à l’aide du nom de base spécifié, des paramètres régionaux par défaut et du chargeur de classes de l’appelant. |
| GetHashCode() |
Retourne une valeur de code de hachage pour l’objet. (Hérité de Object) |
| GetObject(String) |
Obtient un objet pour la clé donnée de ce bundle de ressources ou l’un de ses parents. |
| GetString(String) |
Obtient une chaîne pour la clé donnée de ce bundle de ressources ou l’un de ses parents. |
| GetStringArray(String) |
Obtient un tableau de chaînes pour la clé donnée de ce groupe de ressources ou l’un de ses parents. |
| HandleGetObject(String) |
Obtient un objet pour la clé donnée de ce bundle de ressources. |
| HandleKeySet() |
Retourne une |
| JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
| KeySet() |
Retourne une |
| Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
| NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
| SetParent(ResourceBundle) |
Définit le bundle parent de ce bundle. |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. (Hérité de JavaObject) |
| ToArray<T>() |
Crée un tableau managé à partir de ce wrapper de tableau Java. (Hérité de Object) |
| ToString() |
Retourne une représentation sous forme de chaîne de l’objet. (Hérité de Object) |
| UnregisterFromRuntime() |
Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité. (Hérité de Object) |
| Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<> (Hérité de Object) |
| Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IJavaPeerable.Disposed() |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. (Hérité de JavaObject) |
| IJavaPeerable.Finalized() |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. (Hérité de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. (Hérité de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. (Hérité de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. (Hérité de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. (Hérité de JavaObject) |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Les ensembles de ressources contiennent des objets spécifiques aux paramètres régionaux. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |