2

私のAndroidアプリでは、静的メソッドでテキストファイルにアクセスしたいのですが、次のコードを使用しています:

InputStream is = Resources.getSystem().openRawResource(R.raw.adv_types);

実行時例外が発生します: resource Not Found Exception

このコードを使用して、非静的メソッドでファイルにアクセスできます。

InputStream is = getResources().openRawResource(R.raw.adv_types);

ただし、静的メソッドでは使用できません。

最初のコードが機能しない理由がわかりましたか? また、静的メソッドでテキスト ファイル (または一般的なリソース) にアクセスするためのソリューションは何ですか?

4

1 に答える 1

6

Resources.getSystem()アプリケーションリソースではなく、システムリソースにのみアクセスできるためです。ドキュメントから:

システム リソースのみ (アプリケーション リソースなし) へのアクセスを提供し、現在の画面用に構成されていない (寸法単位を使用できない、方向に基づいて変化しないなど) グローバル共有 Resources オブジェクトを返します。

于 2013-11-01T18:53:29.497 に答える