2017-06-30 5 views
-4

Ich versuche, Android APP zu erstellen, die in der Lage sein wird, Car bewegen oder Nr. Während der Suche in Google fand ich Lösung mit GPS. Aber möglich ohne GPS/Internet ...? Ist es möglich, Schrittzähler Apps Algorithmus oder etwas Ähnliches zu ändern?Android - Movment Detection

Antwort

0

Die Android-Plattform bietet mehrere Sensoren, mit denen Sie die Bewegung eines Geräts überwachen können. Bewegungssensoren sind nützlich für die Überwachung von Gerätebewegungen wie Neigen, Schütteln, Drehen oder Schwenken. Und für die Referenz oder implementierten Code finden Sie in der folgenden Link. Unten stehende Links können in Ihrem Fall sehr nützlich sein.

https://stackoverflow.com/questions/14574879/how-to-detect-movement-of-an-android-device 

http://www.coders-hub.com/2013/10/how-to-use-sensor-in-android.html#.WVXrNoiGOUk 

Hoffe das hilft Ihnen.

1

Beim Erstellen einer solchen App sollten Sie einige Funktionen in Betracht ziehen. Vor allem wäre es am besten, wenn Sie GPS-Tracking verwenden, können Sie diese Bibliothek Android-EasyLocation verwenden. Auf diese Weise können Sie feststellen, wie Sie sich bewegen. Zweitens sollten Sie den Beschleunigungsmesser verfolgen. Wenn die Beschleunigung niedrig ist (weil es im Auto ist), aber Sie bewegen sich schnell (von GPS kommen), dann sind Sie mit dem Auto unterwegs. Wenn du gehst, wäre die Beschleunigung viel höher, wenn sich das Telefon mit dir bewegt. Zusammenfassend müssen Sie das GPS und die vom Beschleunigungssensor zurückgegebenen Werte verfolgen.

dies ist, wie Sie den Beschleunigungsmesser Wert bekommen kann:

public class MainActivity extends Activity implements SensorEventListener{ 
private SensorManager sensorManager; 
TextView text_X; 
TextView text_Y; 
TextView text_Z; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); 
    sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),SensorManager.SENSOR_DELAY_NORMAL); 
    //Collegamento con le textView del layout 
    text_X=(TextView)findViewById(R.id.txtXValue); 
    text_Y=(TextView)findViewById(R.id.txtYValue); 
    text_Z=(TextView)findViewById(R.id.txtZValue); 
} 

@Override 
public void onSensorChanged(SensorEvent event) { 
    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { 
     //L'accelerometro ha cambiato stato 
     mostraValori(event); 
    } 

} 

@Override 
public void onAccuracyChanged(Sensor sensor, int accuracy) { 

} 

private void mostraValori(SensorEvent event){ 
    float[] valori=event.values;//array che contiene i valori dell'accelerometro 
    //modifica del valore delle textView 

    text_X.setText("Valore X: "+valori[0]); 
    text_Y.setText("Valore Y: "+valori[1]); 
    text_Z.setText("Valore Z: "+valori[2]); 

} 

}

+0

Hallo, Alexander Mladzhov GPS Internetverbindung benötigt? ist es möglich, Bewegung mit GPS ohne Internet zu erkennen? – Zura

+0

Ja, es ist möglich. Es verwendet die SIM-Karte, ist aber eher ungenau. Sie können Beispiele hier sehen https://stackoverflow.com/questions/36500312/how-do-i-get-my-current-location-without-gps Wenn es half, bitte upvote und markieren Sie als beantwortet. Ich würde glücklich sein, bei irgendwelchen anderen Fragen zu helfen, die Sie haben –