[Hilfe] suche Entwicklungshilfe für ein Geschwindigkeitswarner [Hilfe] suche Entwicklungshilfe für ein Geschwindigkeitswarner
Seite 1 von 2 1 ... LetzteLetzte
Ergebnis 1 bis 20 von 27
  1. Hallo,


    ich suche eine app, die über GPS die Geschwindigkeit misst und wenn man unter n km/h kommt einfach piept oder so.
    Hintergrund ist, ich will beim Jogging eine gewisse Geschwindigkeit halten, ich nutze Cardio-Trainer, und der sagt auch die Geschwindigkeit hin und wieder an, aber er warnt nicht bei Unterschreitung.
    Ich versuche auch (vergeblich) mit Eclipse eine App selbst zu schreiben, komme aber auch nicht weiter. Meine Programmierkenntnisse sind unterer Durchschnitt mit (Visual)-Basic, Visual-C++, HTML und PHP. Das hilft wohl eher weniger
    Also nochmal, ich brauche eine App, die mittels GPS eine einstellbare Geschwindigkeit (von ca.5,0-19,9 km/h) misst und bei Unterschreitung ein einfaches Tonsignal abgibt.
    0
     

  2. Hi bokieh,

    wie weit bist denn schon mit den Beispielen durchgekommen?

    Hast du bei Google mal die android-API angeschaut? vielleicht gibt es dazu ja schöne beispiele.



    Beispiel:
    http://developer.android.com/referen.../Location.html
    floatgetSpeed()
     Returns the speed of the device over ground in meters/second.

    mfg
    Rumbel
    0
     

  3. Zitat Zitat von Rumbel Beitrag anzeigen
    Hi bokieh,

    wie weit bist denn schon mit den Beispielen durchgekommen?

    Hast du bei Google mal die android-API angeschaut? vielleicht gibt es dazu ja schöne beispiele.
    Die API scheint bestimmt ganz toll zu sein, aber ich habe nicht den geringsten Schimmer wie man mit Java programmiert. Bei PHP oder Basic geht das viel übersichticher und einfacher, leider nützt mir das nichts. Ich brauche einen Anfang, wenn ich den Syntax kapiert habe werde ich es wohl schaffen.
    Ich habe da so einige Fragen:
    - es gibt wohl mehrere Dateien, die wichtig sind (unter SRC die .java, unter res/values die strings.xml, und res/Layout die main.xml...) welche sind zwingend erforderlich und welche sollte ich links liegen lassen?
    - im Kopfbereich der .java-Datei gibt es import. Muss ich da die im Programm benutzten "Programmpakete" einlesen? In etwa so : für GPS-Empfang die Zeile "import android.location.getSpeed();" ?
    - und wie frage ich dann die Geschwindigkeit ab? Hier fällt mir nichts mehr ein.

    Zitat Zitat von Rumbel Beitrag anzeigen
    Beispiel:
    http://developer.android.com/referen.../Location.html
    floatgetSpeed()
     Returns the speed of the device over ground in meters/second.

    mfg
    Rumbel
    Ich habe bisher immer jemand gehabt, der mir die Grundzüge verständlich erklärt hat, leider finde ich in diesen speziellen Thema niemand in meinem Umfeld, der sich damit auskennt. Die Sachen im Internet sind entweder nur auf Java gemünzt oder in fachenglisch oder schon gleich für Fachmänner (IT/Informatiker), das ist zum Einsteigen zu schwierig.
    Ich habe es zwar geschafft ein "HelloWorld" auf virtuelle Display zu zaubern, aber ich habe nur abgeschrieben...
    So ein klitzekleinen Anfängerkurs "Android-Programmieren für SuperDummies" gibt es hier nicht rein zufällig
    Ich wills ja lernen, bekomm es aber nicht hin...
    0
     

  4. hm ja generell solles du für java erst mal wissen, was objektorientierung ist.
    das ist mal der größe unterschied zu basic

    danach ists dann leicht, die syntax zu lernen.

    für das get speed beispiel kann ich morgen nochmal nach code-samlpes suchen, oder vielleicht hat hier jemand im forum was schönes.

    ansonsten gibts auch öfters mal videos mit erklärungen, gerade für anfänger.

    ich schreib morgen mehr, jetzt bin ich erst mal zu müde

    mfg
    rumbel
    0
     

  5. Hier, sehr schnell und grausig.
    Was jetzt noch fehlt ist:

    • Sound ausgeben. Die Methode dazu steht da alert().
    • Schauen ob das m/s oder km/h oder was auch immer sein sollten.

    PS: Absolut ungetestet & ohne Gewähr. Aber auch wenn was nicht geht, dann sollte es dir sicher eine Starthilfe sein.


    Gruss.


    package talionis.android.speedmeter;

    import java.security.Provider;

    import android.app.Activity;
    import android.content.Context;
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.location.LocationProvider;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.LinearLayout;
    import android.widget.TextView;

    public class MainActivity extends Activity implements OnClickListener {


    private LocationManager locationManager;
    private TextView tv,tv2 ;
    private LocListener locListener = new LocListener();
    private float minSpeed;
    private LinearLayout linLay;
    private EditText et;
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    linLay = new LinearLayout(this);
    linLay.setOrientation(LinearLayout.VERTICAL);

    et = new EditText(this);
    linLay.addView(et);

    Button button = new Button (this);
    button.setText("Ok");
    button.setOnClickListener(this);
    linLay.addView(button);

    tv= new TextView(this);
    tv.setText("MinSpeed: "+minSpeed+"");
    linLay.addView(tv);

    tv2= new TextView(this);
    tv2.setText("Status: Activating GPS...");
    linLay.addView(tv2);

    setContentView(linLay);

    locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    }

    public void alert() {
    Log.v(this.toString(), "Alert, we're tooo slwo");
    //SPEED TO LOW. PLAY A SOUND OR WHATEVER HERE.
    }

    @Override
    public void onPause() {
    super.onPause();
    locationManager.removeUpdates(locListener);
    }

    public void onResume() {
    super.onResume();
    if(locationManager.getProvider("gps")!=null)
    locationManager.requestLocationUpdates("gps", 0, 0, locListener);
    }

    public class LocListener implements LocationListener {

    @Override
    public void onLocationChanged(Location location) {
    float cSpeed=location.getSpeed();
    tv.setText("Speed: "+cSpeed);
    Log.v(this.toString(),"Updated speed...");
    if(cSpeed<minSpeed)
    alert();
    }

    @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

    }

    }

    @Override
    public void onClick(View v) {
    try {
    this.minSpeed=Float.parseFloat(et.getText().toString());
    } catch (NumberFormatException nfe) {
    this.minSpeed=5;

    } finally {
    tv.setText("MinSpeed: "+this.minSpeed);
    }
    }

    }

    2
     

  6. Hallo metter,

    ich werde es heute abend gleich mal ausprobieren!
    Ich bedanke mich aber jetzt schon für Deine großartige Hilfe. Wenn die App steht, poste ich hier noch den Quelltext, damit es für andere (wie mich) eine Einstiegshilfe ist.


    CU bokieh
    0
     

  7. 17.06.2010, 08:15
    #7
    Ich hab im Market die App "Music Running Coach" gefunden.
    Die spielt nur Musik wenn du schneller als 3 meilen läufst. Also unter 4,8km/h keine Musik.

    Gestest hab ich die zwar nicht, aber vielleicht ist das ja ne Hilfe für dich.

    Gruss
    Michl
    0
     

  8. Hi,

    Die hab ich getestet, ist aber nicht einzustellen, ab wann die Musik läuft. Ist also nicht wirklich zu gebrauchen.

    Danke trotzdem ...
    0
     

  9. Und, hats geklappt?
    0
     

  10. Zitat Zitat von metter Beitrag anzeigen
    Und, hats geklappt?
    Hallo,

    Eclipse zeigt zwar keine Fehler mehr an, aber wenn ich es im Emulator laufen lassen will kommt die Meldung "Your project contains error(s), please fix them before running your application."
    ja und da steh ich wieder mit meinen Problemen :
    * kein Schimmer
    * kein Fehler
    * und keinen den ich fragen kann...

    Ich habe mich aber im Herbst schon für einen Java-Kurs der VHS angemeldet...

    Ich habs nur über die Hilfemöglicjkeiten von Eclipse angepasst und eingedeutscht...:


    package
    talionis.android.speedmeter;

    import
    android.app.Activity;

    import
    android.content.Context;

    import
    android.location.Location;

    import
    android.location.LocationListener;

    import
    android.location.LocationManager;

    import
    android.os.Bundle;

    import
    android.util.Log;

    import
    android.view.View;

    import
    android.view.View.OnClickListener;

    import
    android.widget.Button;

    import
    android.widget.EditText;

    import
    android.widget.LinearLayout;

    import
    android.widget.TextView;


    public
    class speedmeter extends Activity implements OnClickListener {


    private LocationManager locationManager;
    private TextView tv,tv2 ;
    private LocListener locListener = new LocListener();
    privatefloatminSpeed;
    private LinearLayout linLay;
    private EditText et;
    @Override
    publicvoid onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    linLay = new LinearLayout(this);
    linLay.setOrientation(LinearLayout.VERTICAL);

    et = new EditText(this);
    linLay.addView(et);

    Button button = new Button (this);
    button.setText("Ok");
    button.setOnClickListener(this);
    linLay.addView(button);

    tv= new TextView(this);
    tv.setText("MinSpeed: "+minSpeed+"");
    linLay.addView(tv);

    tv2= new TextView(this);
    tv2.setText("Status: aktiviere GPS...");
    linLay.addView(tv2);

    setContentView(linLay);

    locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    }

    publicvoid alert() {
    Log.v(this.toString(), "Alarm, zu langsam!!!");
    //SPEED TO LOW. PLAY A SOUND OR WHATEVER HERE.
    }

    @Override
    publicvoid onPause() {
    super.onPause();
    locationManager.removeUpdates(locListener);
    }

    publicvoid onResume() {
    super.onResume();
    if(locationManager.getProvider("gps")!=null)
    locationManager.requestLocationUpdates("gps", 0, 0, locListener);
    }

    public class LocListener implements LocationListener {

    @Override
    publicvoid onLocationChanged(Location location) {
    float cSpeed=location.getSpeed();
    tv.setText("Speed: "+cSpeed);
    Log.v(this.toString(),"aktualisiere Geschwindigkeit...");
    if(cSpeed<minSpeed)
    alert();
    }

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

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

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

    @Override
    publicvoid onClick(View v) {
    try {
    this.minSpeed=Float.parseFloat(et.getText().toString());
    } catch (NumberFormatException nfe) {
    this.minSpeed=5;

    } finally {
    tv.setText("MinSpeed: "+this.minSpeed);
    }
    }
    }


    Ich weiß halt nicht weiter... sorry
    1
     

  11. Nun hab ich doch noch den fehler gefunden:
    in der AndroidManifest.xml ist hakts, der Fehler lautet:

    Class talionis.android.speedmeter.talionis.android.speedmeter does not exist

    gut, komm ich aber auch nicht weiter...
    0
     

  12. Code:
    <activity android:name="<package>.<Klassenname>"
    So muss der entsprechende (Teil)Eintrag in der Manifest.xml aussehen.

    1. Der letzt Teil dabei ist einfach der Name der Klasse (Die man übrigens nach Konvention immer gross schreibt. Also: "class Speedmeter", bei dir steht "class speedmeter")

    2. Ganz oben der Klasse steht bei meinem Code
    Code:
    package talionis.android.speedmeter;
    Das ist das package. Stell dir das als eine Art Ordner vor. Bei mir sieht das Projekt in Eclipse so aus: src->talionis->android->speedmeter->MainActivity

    Du brauchst also bloss deine Klasse richtig zu benennen (Grossschreibung), das Package richtig zu nennen (entsprechend deiner Ordnerstruktur. ausgehend von "src", aber ohne den Namen der Klasse) und das auch im Manifest.xml anzupassen.

    So, ich hoffe das hilft dir. Sonst frag einfach.

    Gruss.
    0
     

  13. Hallo,

    ich bekomms nicht hin.
    Ich geb auf, das alles ist für mich wie Latein rückwärts.
    Ich bedanke mich für Eure Hilfe, aber Java hat mich geschafft!


    Danke...
    0
     

  14. Hi,

    ich melde mich zurück...
    Das ist doch irgendwie wie eine Droge
    Ich hab nochmal alles neu gemacht (angefangen bei -HelloWorld-) und nun hab ichs soweit hinbekommen, daß das Emu-Handy startet und die Standard-Fehlermeldung kommt -
    Sorry! The Application Speedmeter has stopped unexpectedly. Please try again. -Force close-
    Also Eclipse findet keinen Fehler und übergibt die Datei an das Handy nur dort bricht es ab. Wie kann ich nun einen Fehler finden, damit ich weiter komme?


    Ich habe das ganze Projekt gezipt und hier angehangen... falls es jemand interessiert
    Angehängte Dateien Angehängte Dateien
    0
     

  15. Das ist doch irgendwie wie eine Droge
    Gell .

    Also, mach folgendes:
    Geh in Eclipse auf Window->Show View->Other->Android->LogCat.
    Nun click im unteren Teil von Eclipse auf LogCat. Da siehst du den Output von Android, inkl. aufgetretenen Fehlern.

    Übrigens, ich tippe jetzt einfach mal darauf, dass du in der Manifest.xml
    Code:
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    vergessen hast?

    Ich hoffe das Hilft dir weiter. Sonst fragen.

    Viel Spass
    1
     

  16. Hi,

    was heißt vergessen, ich weiss nix und kann nix was mit Java zu tun hat
    Ich habe es nun mal ganz unten bei <uses-sdk... eingetragen aber dann kommt nur eine Wust an Fehlermeldungen im Consolenfenster...
    War wohl der falsche Ort.
    Wo sollte es denn ungefähr rein, und was macht die Codezeile?
    0
     

  17. Huhu

    Die Zeile kommt irgendwo unter /application, aber vor /manifest.

    Code:
        </application>
    	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    </manifest>
    Es geht um folgendes: Mit dem Android SDK kannst du auf eine Fülle an Schnittstellen zugreifen, zB SMS verschicken, SMS lesen, ins Internet gehen, etcetc. Der Benutzer will das aber eventuell nicht. Deshalb gibt es diese Permissions. Wenn nun jemand deine Speedmeter Applikation installieren würde, dann würde da stehen (sinngemäs): Diese Applikation kann Ihren genauen Standort ermitteln. So kann ein wenig verhindert werden, dass Applikationen im verborgenen unerwünschte Aktionen ausführen.

    Hier siehst du eine Liste aller Aktionen, für die in der Manifest.xml eine solche Zeile eingefügt werden muss.

    Der Fehler kann aber auch an was anderem liegen. Sonst kopier einfach mal den roten LogCat output hier rein.
    0
     

  18. Jipieh!!!
    Hey Super ! Es läuft !!! Nun werde ich mich die nächsten Tage wohl daran machen müssen, die App in mein Handy zu bekommen und noch den Ton einzuschalten, aber es läuft!!!!

    Der Fehler war wohl dieser : ich hatte die Manifest.xml geöffnet, als ich auf RUN geklickt habe. Es hat bestimmt gestern Abend schon gelaufen.

    Metter Du hast meinen vollen Respekt, daß Du das so gut drauf hast
    1
     

  19. Hallo,


    ich müh mich grad mit der Soundausgabe rum, und habe folgendes eingesetzt:

        public void alert() {
    Log.v(this.toString(), "Du bist zu langsam!");
    MediaPlayer mp = new MediaPlayer();
    try {
    mp.setDataSource("beep.mp3");
    } catch (IllegalArgumentException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IllegalStateException e)

    //SPEED TO LOW. PLAY A SOUND OR WHATEVER HERE.
    }

    Es kommt immer Syntax-Error on Token...
    Die beep.mp3 habe ich direkt unter src importiert, das sollte dann wohl richtig sein, so wie ich das verstanden habe

    Wie bekomme ich den Syntax-Fehler weg?

    P.S. Ich weiß, ich kann nichts allein machen, aber ich habe die letzten zwei Tage nur versucht und ausprobiert entweder einen Sound oder eine Vibration auszugeben... Ich muß unbedingt einen Kurs mitmachen!
    0
     

  20. Hey.

    Das Problem hier ist, dass du nach
     
    } catch (IllegalStateException e)

    den Block nicht aufführst.

    Es muss so heissen:


    } catch (IllegalStateException e) {}


    Das ganze korrekt sieht so aus:


    public void alert() {
    Log.v(this.toString(), "Du bist zu langsam!");
    MediaPlayer mp = new MediaPlayer();
    try {
    mp.setDataSource("beep.mp3");
    } catch (IllegalArgumentException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IllegalStateException e) {

    } catch (IOException e) {

    }

    // SPEED TO LOW. PLAY A SOUND OR WHATEVER HERE.
    }


    P.S. Ich weiß, ich kann nichts allein machen, aber ich habe die letzten zwei Tage nur versucht und ausprobiert entweder einen Sound oder eine Vibration auszugeben... Ich muß unbedingt einen Kurs mitmachen!
    Dafür ist das Forum ja da.

    Gruss
    2
     

Seite 1 von 2 1 ... LetzteLetzte

Ähnliche Themen

  1. Suche ein Programm für Profile
    Von icebaba2001 im Forum HTC Touch Pro 2
    Antworten: 4
    Letzter Beitrag: 06.08.2009, 10:24
  2. Suche ein Programm für W-Lan Verwaltung
    Von brillos im Forum Software (Touchscreen)
    Antworten: 1
    Letzter Beitrag: 23.04.2009, 00:51
  3. Suche ein Videoconverter für Touch HD
    Von Matala im Forum Touch HD Media
    Antworten: 1
    Letzter Beitrag: 20.02.2009, 23:07
  4. Suche für S200 ein...
    Von Dheena im Forum Plauderecke
    Antworten: 4
    Letzter Beitrag: 28.05.2006, 20:36
  5. Antworten: 3
    Letzter Beitrag: 22.11.2004, 09:36

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

android geschwindigkeitswarner

geschwindigkeitswarner android

android app geschwindigkeitswarner

geschwindigkeitswarner app

geschwindigkeitswarner app androidapp geschwindigkeitswarnerandroid km h zeigt im auto fenstergps geschwindigkeitswarnerandroid apps geschwindigkeit programmierengeschwindigkeitswarner gpsgps android entwicklungandroid locationmanager.speed kmhandroid gps entwicklunggeschwindigkeitswarner android appandroid gps speed javaandroid sensor geschwindigkeitjava android gps einschaltenandroid programmierung verticalgps geschwindigkeit in android programmierenandroid locationmanager getspeed kmheclipse android getsystemservice benachrichtigungston vibrationgeschwindigkeitswarner und sandroid.location.location getSpeedandroid programmierung tonsignal

Stichworte