すべてのIDはR
永続的ですか?最近、ゲームを作成し、サウンドトラックのIDを使用してに保存しましたSharedPreferences
。(同じファイルの)これらのIDは、次のビルドで変更されるのでしょうか?ドキュメントを教えていただけますか?
user1521536
質問する
133 次
1 に答える
3
リソースが変更されるたびに変更されます。ハードコーディングされた値に依存しないでください ( に保存するなどSharedPreferences
)。
これを示す実際のドキュメントはないようです (リソースのドキュメントをint
参照してください)。ただし、(たとえば) の値を記録して自分でテストR.id.hello_world
し、XML ファイルの前後に一連の文字列を追加してから、それを再構築します。int
価値が全然違ってきます。
編集:あなたが読みたいかもしれない少しのドキュメントを見つけました。それは次のように述べています:「リソースIDを発見するためにそこを見る必要はありません」; あなたの場合、このファイルを調べていなくても、そこから直接値を使用しています。
さらに、ID がどのように生成されるかについて説明しているこの回答があり、生成された各 ID には順序 (パッケージ名、タイプ名、リソース名) があるが、これらは任意に生成されることが詳述されています。そしてこれ: "デフォルトでは、aapt はビルド間でこれらの識別子を同じに保つ試みを行わないことに注意してください。 "
AAPT と Android リソースの生成プロセスの詳細については、このスライドショーもお読みください。
于 2012-08-06T01:56:17.863 に答える