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

  • Greater Than Gatsby Photoshop Actions & Lightroom Presets

    Greater Than

    11 ŞUBAT 2013
  • Tracy Hairston

    Tracy Hairst

    22 Mayıs 2009
  • Vortez

    Vortez

    27 Temmuz 2009