Created
August 5, 2014 18:23
-
-
Save anonymous/2ebebb679a56284efc68 to your computer and use it in GitHub Desktop.
Coding the Details Screen
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static String getFormattedWind(Context context, float windSpeed, float degrees) { | |
int windFormat; | |
if (Utility.isMetric(context)) { | |
windFormat = R.string.format_wind_kmh; | |
} else { | |
windFormat = R.string.format_wind_mph; | |
windSpeed = .621371192237334f * windSpeed; | |
} | |
// From wind direction in degrees, determine compass direction as a string (e.g NW) | |
// You know what's fun, writing really long if/else statements with tons of possible | |
// conditions. Seriously, try it! | |
String direction = "Unknown"; | |
if (degrees >= 337.5 || degrees < 22.5) { | |
direction = "N"; | |
} else if (degrees >= 22.5 && degrees < 67.5) { | |
direction = "NE"; | |
} else if (degrees >= 67.5 && degrees < 112.5) { | |
direction = "E"; | |
} else if (degrees >= 112.5 && degrees < 157.5) { | |
direction = "SE"; | |
} else if (degrees >= 157.5 && degrees < 202.5) { | |
direction = "S"; | |
} else if (degrees >= 202.5 && degrees < 247.5) { | |
direction = "SW"; | |
} else if (degrees >= 247.5 && degrees < 292.5) { | |
direction = "W"; | |
} else if (degrees >= 292.5 || degrees < 22.5) { | |
direction = "NW"; | |
} | |
return String.format(context.getString(windFormat), windSpeed, direction); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- Strings for formatting weather-related data --> | |
<!-- Temperature format [CHAR LIMIT=5] --> | |
<string name="format_temperature"><xliff:g id="temp">%1.0f</xliff:g>\u00B0</string> | |
<!-- Windspeed formats --> | |
<!-- Wind in mph [CHAR LIMIT=25] --> | |
<string name="format_wind_mph"> | |
Wind: <xliff:g id="speed">%1$1.0f</xliff:g> mph <xliff:g id="direction">%2$s</xliff:g> | |
</string> | |
<!-- Wind in kph [CHAR LIMIT=25] --> | |
<string name="format_wind_kmh"> | |
Wind: <xliff:g id="speed">%1$1.0f</xliff:g> km/h <xliff:g id="direction">%2$s</xliff:g> | |
</string> | |
<!-- Pressure format CHAR LIMIT=25] --> | |
<string name="format_pressure">Pressure: <xliff:g id="pressure">%1.0f</xliff:g> hPa</string> | |
<!-- Humidity format CHAR LIMIT=25]--> | |
<string name="format_humidity">Humidity: <xliff:g id="humidity">%1.0f</xliff:g> %%</string> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Following @HNeukermans, I think this two line function does it
as evidenced by this unit test: http://pastebin.com/BCbFfxaF giving me this output: http://pastebin.com/sVA2wCT3