SORU
11 Mart 2011, Cuma


Nasıl android ile doldurun olayı algılamak için?

Nasıl android ile doldurun bir olay olarak algılayabilir miyim? Nasıl salla yönünü algılayabilir miyim?

Sarsıntı meydana geldiğinde bir imageview görüntüyü değiştirmek istiyorum.

CEVAP
11 Mart 2011, Cuma


Görünüm kodu noktasından, SensorListener uygulamak gerekir:

public class ShakeActivity extends Activity implements SensorListener

Bir SensorManager elde etmek gerekir:

sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);

Ve istediğiniz bayrakları ile bu sensör kayıt:

sensorMgr.registerListener(this,
SensorManager.SENSOR_ACCELEROMETER,
SensorManager.SENSOR_DELAY_GAME);

Senin onSensorChange (), bir sarsıntı olup olmadığını belirlemek yöntem:

public void onSensorChanged(int sensor, float[] values) {
  if (sensor == SensorManager.SENSOR_ACCELEROMETER) {
    long curTime = System.currentTimeMillis();
    // only allow one update every 100ms.
    if ((curTime - lastUpdate) > 100) {
      long diffTime = (curTime - lastUpdate);
      lastUpdate = curTime;

      x = values[SensorManager.DATA_X];
      y = values[SensorManager.DATA_Y];
      z = values[SensorManager.DATA_Z];

      float speed = Math.abs(x y z - last_x - last_y - last_z) / diffTime * 10000;

      if (speed > SHAKE_THRESHOLD) {
        Log.d("sensor", "shake detected w/ speed: "   speed);
        Toast.makeText(this, "shake detected w/ speed: "   speed, Toast.LENGTH_SHORT).show();
      }
      last_x = x;
      last_y = y;
      last_z = z;
    }
  }
}

Shake eşik olarak tanımlanır:

private static final int SHAKE_THRESHOLD = 800;

Çok değişik yöntemler, sallamak hareket algılama vardır. link.Bu link çalışmıyor veya link öldüyse(, look at this web archive.)bak.

example şuna bir bakın android shake dinleyici algılar.

Not:SensorListener önerilmiyor. SensorEventListener yerine kullanabiliriz. Here is a quick example using SensorEventListener.

Teşekkürler.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Authority

    Android Auth

    3 NİSAN 2011
  • pendrop gaming

    pendrop gami

    4 ŞUBAT 2013
  • RealPapaPit

    RealPapaPit

    16 Mart 2009