Frage zu Tacho

  • 8 Antworten
  • Letztes Antwortdatum
J

Jajobe

Erfahrenes Mitglied
14
Ich versuche gerade einen Androidtacho zu programmieren.
Im Netz bin ich darauf gestoßen, dass man mit location.getSpeed nur m/s bekommt. Deswegen habe ich das Ergebnis mal 3.6 genommen. Stimmt das?

Quellcode:

Code:
package com.bjcreative.speedometer;

import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity implements LocationListener {
	
	
	
	

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		LocationManager lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
		lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
		
		this.onLocationChanged(null);
		
		
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public void onLocationChanged(Location location) {
		TextView txt = (TextView) this.findViewById(R.id.textView1);
		
		
		
		if( location==null )
			{
				txt.setText("-.- km/h");	
			}
			else
			{
				
				float nCurrentSpeed = location.getSpeed();
				
				txt.setText(nCurrentSpeed*3.6 + "km/h");
			}
		
	}

	@Override
	public void onProviderDisabled(String provider) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void onProviderEnabled(String provider) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void onStatusChanged(String provider, int status, Bundle extras) {
		// TODO Auto-generated method stub
		
	}

}


Außerdem habe ich noch ne Frage, nämlich wie macht man als Hintergrund einen Tacho?
Also ich bekomme im Moment Geschwindigkeiten in einer Textview, aber möchte, dass sich ein Zeiger über einen Tacho bewegt.
Gibt es dazu irgendwo ne Anleitung?
 
Zuletzt bearbeitet:
oh mein freund des wird so nix. Der mathematische bzw. physikalische Teil ist sowieso deine Aufgabe, die du alleine lösen musst, und beim Tacho solltest du dir zuerst mal überlegen, wie es überhaupt funktonieren kann. Du brauchst ein Hintergrundbild, und ein Bild mit einem Zeiger, den du an einem Ende je nach "Geschwindigkeit" drehst. Gibt genug Tutorials zum drehen von Bildern. Mfg
 
Du meinst, dass also der Tacho nix anzeigt?
Bei mir zumindest zeigt er was an und habe es getestet. Wenn ich laufe zeigt er zwischen 3 und 5km/h an und des klingt ja realistisch.
Des mit den bewegten Bildern werde ich mal googlen.
 
Also ich habe die App jetzt mal im Auto getestet. Die km/h Zahlen stimmen ziemlich genau überein. Allerdings zeigt die Textview unheimlich viele Stellen nach den komma an.
Kann man das begrenzen. Im Internet habe ich zwar ein bissel was gefunden, aber es hat irgendwie nicht funktioniert.
Hat einer ne Idee?
 
Runden?

lg. Dagobert
 
Ja genau Runden. Ich habe z.B 60,674864km/h und möchte dass es nur 60,67 km/h anzeigt.
 
Google spuckt mir spontan 71.200.000 Ergebnisse aus oO
Und das unter der Zeit die du gebraucht hast hier auf Antworten zu klicken...

lg. Dagobert
 
Math.round()???
 
Code:
Math.round(deineZahl*100)/100
rundet auf 2 Stellen hinter dem Komma.
 
  • Danke
Reaktionen: Jajobe
Zurück
Oben Unten