2011-12-03 24 views
2

Androidアプリケーションでキーストアをロードします。キーtruststore.bksres/rawというフォルダにコピーしました。 AndroidのSDKは、trustsotreのエントリを持つR.javaを生成します。使用しようとする中アプリで: Resources.getSystem().openRawResource(R.raw.truststore);openRawResource()は常にNotFoundExceptionをスローします

しかし、私は常に例外を取得: android.content.res.Resources$NotFoundException: Resource ID #0x7f040000

私はAPKファイルウントに見てはtruststore.bksファイルはフォルダres/raw/である見ました。

私のミスステイクは何ですか?

答えて

4

問題は、Resource.getSystemを呼び出す際にシステムレベルのリソースを使用していることです。具体的には、これによりアプリケーションリソースへのアクセスが提供されないことがドキュメントに記載されています。アプリケーションのContextオブジェクトでgetResourcesを呼び出す必要があります。すべてのアクティビティはContextから継承しているため、Contextオブジェクトです。

+1

ありがとう、 'getResources()。openRawResource(R.raw.truststore);' –

0

あなたR.javaがそれのために対応するエントリが含まれていない.....
私はウルの問題を完全に認識していないですけれども
....再びR.javaや建物を削除してみてください....
これは適切な解決策ではありません....

+0

私はR.javaファイルを削除しました。それをビルドした後、プロジェクトにはR.javaファイルのエントリが含まれています。私はまた、Eclipseを再起動し、別のコンピュータでプロジェクトを実行しました。しかし、それは助けにはならない。私はいつも例外を持っています –

+0

私はコードを書くことができます。 –

+0

Kaediilの答えは必要ありません。 –

関連する問題