Durante estas semanas he estado leyendo mucho y haciendo mis primeros pinitos con esto del Android. También me he leido un buen libro sobre Java del que ya hablaré - o no -. Incluso he estado jugando con C# sobre Mono. El asunto es que algo se ha movido. He de reconocer que tras diez años como programador en VB6, me encuentro inquieto. Junto a la pequeña satisfacción de ir avanzando, siento vértigo ante lo que intuyo que tengo por delante. Y más que miedo, es ansiedad por avanzar. Estoy maravillado con conceptos como el de interfaz, por poner un ejemplo. Supongo que cada cosa tiene un momento, y éste es el mio para apreciar las nociones de la programación orientada a objetos. Y de evolucionar como profesional. Estas semanas he recordado cuánto he disfrutado programando. Y vuelve a divertirme. Lo estoy notando en mi curva de aprendizaje, y en mi día a día en el trabajo.
Y como el movimiento se demuestra andando, y el cariño cocinando, allá va un snippet de código que ya forma parte del esqueleto de la aplicación de los precios del combustible.
------------------------------------------------------------ Doblar por aquí ------------------------------------------------------------
package zoom.preciogasolina;
import android.util.Log;
public class Util {
private final static String TAG="Util";
public static Double getDistance(float lat1, float lon1, float lat2, float lon2) {
/** Calcula distancia entre dos puntos de la superficie de una esfera */
/* Fuente: http://www.tutiempo.net/p/distancias/calcular_distancias.html */
Log.d(TAG,
"getDistance: lat1=" + lat1 +
"; lon1=" + lon1 +
"; lat2=" + lat2 +
"; lon2=" + lon2);
final double degtorad = 0.01745329;
final double radtodeg = 57.29577951;
double dlong = (lon1 - lon2);
double dvalue = (Math.sin(lat1 * degtorad)
* Math.sin(lat2 * degtorad))
+ (Math.cos(lat1 * degtorad)
* Math.cos(lat2 * degtorad)
* Math.cos(dlong * degtorad));
double d = Math.acos(dvalue) * radtodeg;
return d * 111.302;
}
public static float toFloat(CharSequence c) {
try {
float f = Float.valueOf(c.toString()).floatValue();
Log.d(TAG, "toFloat = " +f);
return f;
} catch(NumberFormatException e) {
Log.e(TAG, "toFloat:" + e.getMessage());
return 0;
}
}
}
------------------------------------------------------------ Doblar por aquí ------------------------------------------------------------
No hay comentarios:
Publicar un comentario