Salve ragazzi volevo sapere come posso fare per avere, ad esempio, ogni 100 ms i valori delle accelerazioni dell'asse x e y. Questi valori poi voglio usarli per riempire 2 array.
Vi ringrazio anticipatamente
Salve ragazzi volevo sapere come posso fare per avere, ad esempio, ogni 100 ms i valori delle accelerazioni dell'asse x e y. Questi valori poi voglio usarli per riempire 2 array.
Vi ringrazio anticipatamente
ho trovato questa applicazione del market:
Accelerometer values v0.1.1b Applicazione per android | Demo
però non mi pare faccia tutto quello che chiedi.
No a me serve il codice che rileva il valore istantaneo dell'accelerazione.
scusa, non avevo letto che il messaggio era nella sezione sdk, cmq tieni d'occhio quell'applicazione che nella descrizione dice che verrà messo a disposizione il codice.
Avevo fatto un programmino che prendeva i dati dalla bussola.. Ma credo sia uguale..
Cosa hai trovato sulla documentazione android?
Twitter @veke87
Il mio problema adesso è questo: visto che non si può emulare l'accelerometro devo fare un'applicazione che gira sul mio htc dream, che ancora ha il firmware 1.1, così da poter vedere se funziona, ma come faccio ad avere la documentazione relatica alla versione 1.1 ????
Ho anche controllato dentro l'sdk 1.1 ma quando vado in reference c'è la documentazione relativa alla 1.5. Non so perchè.
Qualcono potrebbe dirmi dove posso trovare la documentazione della versione 1.1 di android.
Vi ringrazio tutti.
Ciao,
per ottenere i dati dai sensori puoi guardare un qualunque tutorial.
Per ottenereli ogni TOT, basta che crei un thread the ogni TOT vada a leggere i dati.
In alternativa puoi metterti in ascolto sulle variazioni e salvarti solo quelli che avvengono a + di TOT tempo dalla precendente.
Il metodo più semplice, secondo me è creare una classe che implementi l'interfaccia SensorEventListener (se non ricordo male in Adnroid 1.1 esisteva l'equivalente SensorListener, ma è stata deprecata). La classe, naturalmente, può anche estendere un Service o una Activity:
In seguito è necessario ottenere una istanza al servizio di gestione dell'accelerometro interno al dispositivo (se disponibile):codice:import android.app.Activity; import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; public class AccelTestActivity extends Activity implements SensorEventListener {
Infine registri un nuovo listener per il monitoraggio degli eventi del sensore con un ritardo normale:codice:SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); if (sensorManager == null) { Toast.makeText(this, "Sensor Service non disponibile", Toast.LENGTH_LONG); return; } sensorAccelerometer = null; for (Sensor sensor : sensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER)) { sensorAccelerometer = sensor; } if (sensorAccelerometer == null) { Toast.makeText(this, "Sensore accelerometro non disponibile", Toast.LENGTH_LONG); return; }
Al variare dei valori di una o più componenti dell'accelerazione impressa al dispositivo è invocato il metodo onSensorChanged; è sufficente eseguire un override di tale metodo per ottenere la variazione dei valori dell'accelerometro:codice:sensorManager.registerListener(this, sensorAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
Il codice funziona su dispositivi Cupcake (Android 1.5) e superiori, ma se non ricordo male, come ho già accennato, dovrebbe essere solamente l'interfaccia SensorListener ad essere stata deprecata a favore di SensorEventListener.codice:@Override public void onSensorChanged(SensorEvent event) { if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { float[] accel_components = event.values; // Utilizza qui i nuovi valori rilevati dall'accelerometro interno } }
Grazie mille, scusa ma ho letto solo ora la risposta sono stato via per un po.
Provo subito e ti faccio sapere
Scusatemi,
più rileggo il mio intervento e più penso di essere stato "leggermente" criptico.
Per rispondere al discorso del dove trovare la documentazione, se si va sul sito, in alto a destra trovi un combo/spinner da cui puoi selezionare la versione di API:
2.0 - 5
1.6 - 4
1.5 - 3
1.1 - 2
1.0 - 1
Spero stavolta di essere stato meno ermetico eeheheh
Buon Natale chicos!