Sto facendo un'app meteo che comporta temperature. Puoi cambiare tra Kelvin, Celsius e Fahrenheit solo per divertimento.
Tuttavia, i dati relativi alla temperatura vengono utilizzati ovunque in diversi modi. Ha senso avere una classe di temperatura che memorizza il numero e le sue unità, e ha vari metodi per convertirla internamente in qualche altra unità di misura, quindi non sto eseguendo la matematica della conversione dappertutto?
Qual è la pratica accettata per memorizzare il suo stato attuale? Una stringa? Se currentUnits è "Fahrenheit", fai questo, ecc. Esiste un modo migliore per archiviarli usando enumerazioni o costanti in qualche modo?
Sto solo provando a farti un'idea delle migliori pratiche qui.
MODIFICA usando invece peso:
public class Weight {
private double mWeight; // assumed to be in lbs
public Weight(double weight) {
mWeight = weight;
}
public double getWeight(Context context) {
AppSettings appsettings = new AppSettings(context);
if (appsettings.getUnitsPref().equals("kgs")){
mWeight *= 2.20462;
}
return mWeight;
}
}