Accelerometru

Accelerometrul este un senzor care inregistreaza schimbarile de acceleratie ale telefonului. El poate fi accesat pentru a returna acceleratia telefonului pe cele 3 axe perpendiculare.
Pentru ca o activitate sa poata primi informatii de la accelerometru, ea trebuie sa implementeze SensorEventListener. Ceea ce presupune ca trebuie sa suprascrie functiile onAccuracyChanged(Sensor sensor, int accuracy) si onSensorChanged(SensorEvent event). Ne intereseaza cea de a doua functie din care putem obtine acceleratiile din obiectul event. (event.values[0] reprezinta acceleratia pe oX, event.values[1] pe oY si event.values[2] pe oZ).

Pentru a porni senzorul trebuie sa obtinem o instanta a clasei SensorManager si sa adaugam un listener. Exemplu:

  SensorManager sensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);
		
		sensorManager.registerListener(this,
				sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
				SensorManager.SENSOR_DELAY_NORMAL);

Daca nu mai avem nevoie de senzor, sau la inchiderea aplicatiei este recomandat sa oprim senzorul(sensorManager.unregisterListener(this);)

Exercitii

  1. Realizati o aplicatie cu 3 TextView-uri in care sa afisati acceleratiile pe cele 3 axe.
  2. Realizati o aplicatie cu un text view in care sa afisati care latura a telefonului este orientata in jos.(Stanga/Dreapta/Sus/Jos/Spate/Fata).

Pentru ambele aplicatii va trebui sa opriti activitatea din a-si schimba orientarea intre (Portrait si Landscape).Pentru asta setati orientarea activitatii, in manifest cu ajutorul proprietatii android:screenOrientation=““

programare_android/curs/curs6.txt · Ultima modificare: 2013/08/05 23:54 de către stefan.alexandru
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0