Maison  >  Article  >  Java  >  Comment accéder au contenu des ressources sans contexte d'activité ?

Comment accéder au contenu des ressources sans contexte d'activité ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-16 18:44:03897parcourir

How to Access Resource Content Without an Activity Context?

Accès au contenu des ressources sans contexte d'activité

Si vous devez accéder au contenu des ressources avant l'initialisation de l'activité, vous pouvez rencontrer un défi car les activités fournissent la méthode getResources(). Voici comment contourner cette limitation :

  1. Créer une sous-classe d'application :

    Étendez la classe Application pour créer une classe d'application personnalisée. Par exemple :

    public class App extends Application {}
  2. Définir la référence AndroidManifest :

    Dans AndroidManifest.xml, définissez l'attribut android:name de l'

    <application android:name=".App" ...>
    ...
    </application></p>
    </li>
    <li>
    <p><strong>Contexte statique et méthode de récupération :</strong></p>
    <p>Dans la méthode onCreate() de votre classe d'application, enregistrez le contexte à un champ statique et créez une méthode statique pour le renvoyer. Par exemple :</p>
    <pre class="brush:php;toolbar:false">public class App extends Application {
    
        private static Context mContext;
    
        @Override
        public void onCreate() {
            super.onCreate();
            mContext = this;
        }
    
        public static Context getContext() {
            return mContext;
        }
    }
  3. Accès aux ressources :

    Vous pouvez désormais obtenir le contexte et les ressources en utilisant :

    Context context = App.getContext();
    Resources resources = context.getResources();

Cette méthode vous permet d'accéder au contenu des ressources à partir de contextes statiques où les objets d'activité peuvent ne pas être disponibles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn