Mit locale-Einstellungen zu erkennen, ob die Verwendung imperialer Einheiten
Arbeite ich an einer app, die will display Längen entweder in Zentimetern (cm) oder Zoll("). Gibt es eine Möglichkeit, das richtige Gerät auszuwählen, von dem Gebietsschema? In jedem Fall, ich werde auch eine option, so dass der Benutzer das überschreiben der locale-Einstellung.
USA, Liberia und Burma sollte imperische Einheiten verwenden und den rest der Welt normale Einheiten. Eine Möglichkeit ist das setzen in dieser Logik in meinen eigenen Klassen, aber ich würde es vorziehen, über eine integrierte Logik, wenn verfügbar. Alle Zeiger?
InformationsquelleAutor der Frage vidstige | 2011-02-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Am Ende ging ich für folgende Lösung.
Verwenden Sie es wie diese zum Beispiel.
Wenn konvertieren-Methoden müssen auch Sie kann vorzugsweise Hinzugefügt werden Unterklassen von UnitLocale. Ich brauchte nur zu erkennen ob zu imperische Einheiten verwenden und senden es an den server.
Mit
int
s über java-Objekte haben extrem schlanken performance-Gewinne und macht den code schwerer zu Lesen. Vergleich zweier Referenzen in java ist vergleichbar in der Geschwindigkeit zu vergleichen, zweiints
. Auch die Verwendung von Objekten ermöglichen uns Methoden, um dieUnitLocale
Klasse oder Unterklassen wie, convertToMetric, etc.Könnte man auch ein enum statt, wenn Sie bevorzugen.
InformationsquelleAutor der Antwort vidstige
Machen eine kleine Verbesserung, die in die Lösung von @vidstige
Ich würde getCountry().toUpperCase() um sicher zu sein, und ändern, die Prüfungen auf einen Schalter für einen saubereren code. So etwas wie dieses:
Andere Lösung könnte die Schaffung von Ressourcen-Ordner für jedes Land so: [values_US] [values_LR] [values_MM] mit einem resource boolean auf "true" geändert. Dann Lesen Sie, dass Boolesche Ressource aus dem code.
InformationsquelleAutor der Antwort Benny
Nur geben dem Benutzer die Möglichkeit, wählen Sie eine bevorzugte Einheit in einem Einstellungen-Menü. Wenn es ein Reisender Benutzer Sie nicht möchten, dass die app geographisch bewusst, IMO.
InformationsquelleAutor der Antwort AndroidHustle