Home > Guide e tutorial per Android > Guida programmazione Android – Lezione 16: Vibrator

Guida programmazione Android – Lezione 16: Vibrator

Lezione16

Lezione16Oggi vedremo come far “vibrare” il vostro dispositivo grazie alla classe Vibrator e modificheremo l’intensità usando una Seekbar

Come sempre creiamo un nuovo progetto. Il nome scelto stavolta è vibrazione. Apriamo il layout e inseriamo una Seekbar e un pulsante, come in figura:

screen layout vibrazione

La Seekbar potete trovarla in FormWidgets. Non preoccupatevi se apparirà diversa come forma o colori, questo dipende solo dalla versione di android scelta come target. Tramite questa barra modificheremo la durata della vibrazione, mentre tramite il button la faremo partire. Applichiamo però qualche modifica, impostando il campo max della barra a 10 (si trova in basso a dx) e settando progress a 5.
E’ il momento di spostarci verso la parte Java: apriamo MainActivity.java e scriviamo:

public class MainActivity extends Activity {
	Vibrator vib;
	SeekBar seekbar;
	int seekValue=5;
	Button button;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		vib= (Vibrator) getSystemService(VIBRATOR_SERVICE);
		seekbar=(SeekBar) findViewById(R.id.seekBar1);
		seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

			@Override
			public void onStopTrackingTouch(SeekBar seekBar) {

			}

			@Override
			public void onStartTrackingTouch(SeekBar seekBar) {

			}

			@Override
			public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {

				seekValue=progress;
			}
		});

		button=(Button) findViewById(R.id.button1);
		button.setOnClickListener(new View.OnClickListener() {
		    @Override
		    public void onClick(View v) {
		        vib.vibrate(seekValue*100);
		    }
		});

	}

}

La seekbar porta con se 3 metodi, che dobbiamo per forza definire. Lasciamo i primi 2 vuoti e utilizziamo solo onProgressChanged(). Qui andiamo a definire cosa deve fare l’applicazione quando muoviamo la seekbar su un’altra posizione: nel nostro caso semplicemente aggiorniamo il valore tenuto in memoria.

Il metodo vibrate di Vibrator invece definisce per quanti millisecondi dobbiamo far vibrare il dispositivo (nel nostro caso il valore di seekbar*100).
Abbiamo quasi finito: ci servono i permessi per far vibrare il device!!! Aggiungiamo quindi il permesso VIBRATE al Manifest, in modo simile a come abbiamo definito altri permessi nelle precedenti lezioni.

Puoi guardare tutte le lezioni passate consultando l’indice del corso di programmazione android