0

すべてのIDはR永続的ですか?最近、ゲームを作成し、サウンドトラックのIDを使用してに保存しましたSharedPreferences。(同じファイルの)これらのIDは、次のビルドで変更されるのでしょうか?ドキュメントを教えていただけますか?

4

1 に答える 1

3

リソースが変更されるたびに変更されます。ハードコーディングされた値に依存しないでください ( に保存するなどSharedPreferences)。

これを示す実際のドキュメントはないようです (リソースのドキュメントをint参照してください)。ただし、(たとえば) の値を記録して自分でテストR.id.hello_worldし、XML ファイルの前後に一連の文字列を追加してから、それを再構築します。int価値が全然違ってきます。

編集:あなたが読みたいかもしれない少しのドキュメントを見つけました。それは次のように述べています:「リソースIDを発見するためにそこを見る必要はありません」; あなたの場合、このファイルを調べていなくても、そこから直接値を使用しています。

さらに、ID がどのように生成されるかについて説明しているこの回答があり、生成された各 ID には順序 (パッケージ名、タイプ名、リソース名) があるが、これらは任意に生成されることが詳述されています。そしてこれ: "デフォルトでは、aapt はビルド間でこれらの識別子を同じに保つ試みを行わないことに注意してください。 "

AAPT と Android リソースの生成プロセスの詳細については、このスライドショーもお読みください。

于 2012-08-06T01:56:17.863 に答える