So verhindern Sie, dass sich einige Werte in R.java ändern, wenn Ressourcen hinzugefügt/aktualisiert werden

StackOverflow https://stackoverflow.com//questions/10706662

Frage

Ich muss den Link zu dem Bild speichern, das der Benutzer ausgewählt hat.Die Quellen der Bilder sind Dateien, Kontaktsymbole und Drawables von Ressourcen (ich benötige Drawables, da ich verschiedene Bilder für unterschiedliche Auflösungen/Dichten bereitstelle).Zum Zwecke der Vereinheitlichung speichere ich es in URI, und daher kann dieser URI auf a verweisen Datei (file://), Zu Inhalt Anbieter oder zu Ressource (android.resource://...).So sieht der URI aus, der auf drawable mit der ID=2130837534 verweist:

android.resource://my.packagename/2130837534

Es funktioniert gut, es sei denn, die IDs sind vorhanden R.java werden regeneriert.Gibt es also eine Möglichkeit, zu verhindern, dass das SDK einige davon ändert? R.java ID-Werte?

War es hilfreich?

Lösung

Nein, das kannst und solltest du nicht.Wenn Sie Ihr Problem klar beschreiben können, gibt es möglicherweise eine andere Lösung.

Speichern Sie auf diese Weise Ihre Ressourcennamen in einer Datei.

ICON_PROFILE_1 ICON_PROFILE_2

Und wenn Sie dann die Ressourcen-ID benötigen, tun Sie dies.

int resID = getResources().getIdentifier("icon_profile_1", "drawable","your_package_name");

Überprüfe hier(java.lang.String, java.lang.String, java.lang.String)

Andere Tipps

Da R.java automatisch generiert wird, kann der Betrieb nicht eingeschränkt werden, da es erneut automatisch generiert wird, wenn Ihr Projekt bereinigt oder kompiliert wird.

Dies ist in Android unmöglich, da R.java automatisch generiert wird und Sie nichts dagegen tun können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top