ホームページ >Java >&#&チュートリアル >アクティビティコンテキストなしでリソースコンテンツにアクセスするにはどうすればよいですか?

アクティビティコンテキストなしでリソースコンテンツにアクセスするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-16 18:44:03976ブラウズ

How to Access Resource Content Without an Activity Context?

アクティビティ コンテキストを使用しないリソース コンテンツへのアクセス

アクティビティの初期化前にリソース コンテンツにアクセスする必要がある場合、アクティビティが提供するため、問題が発生する可能性があります。 getResources() メソッド。この制限を回避する方法は次のとおりです。

  1. アプリケーション サブクラスの作成:

    アプリケーション クラスを拡張してカスタム アプリケーション クラスを作成します。例:

    public class App extends Application {}
  2. AndroidManifest の設定 参照:

    AndroidManifest.xml で、

    <application android:name=".App" ...>
    ...
    </application></p>
    </li>
    <li>
    <p><strong>静的コンテキストと取得メソッド:</strong></p>
    <p>アプリ クラスの onCreate() メソッドで、コンテキストを保存します。静的フィールドにコピーし、それを返す静的メソッドを作成します。例:</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. リソース アクセス:

    これで、次を使用してコンテキストとリソースを取得できます:

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

このメソッドを使用すると、Activity オブジェクトが存在する静的コンテキストからリソースのコンテンツにアクセスできます。利用できない場合があります。

以上がアクティビティコンテキストなしでリソースコンテンツにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。