2017-02-10 18 views
1

ウェブサイトhttp://www.ssaurel.com/blog/learn-how-to-make-a-compass-application-for-android/のコンパスコードを使用しています。 実際に私は新しいコンパスアプリケーションを開発しています。私はエラーが発生しています。 'LowPassFilter'シンボルを解決できません。すべての可能なファイルをインポートしましたが、同じエラーが発生しました。シンボル 'Lowpassfilter'を解決できません

@Override 
public void onSensorChanged(SensorEvent event) { 
    boolean accelOrMagnetic = false; 

// get accelerometer data 
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { 
    // we need to use a low pass filter to make data smoothed 
    smoothed = **LowPassFilter**.filter(event.values, gravity); 
    gravity[0] = smoothed[0]; 
    gravity[1] = smoothed[1]; 
    gravity[2] = smoothed[2]; 
    accelOrMagnetic = true; 

} else if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) { 
    smoothed = **LowPassFilter**.filter(event.values, geomagnetic); 
    geomagnetic[0] = smoothed[0]; 
    geomagnetic[1] = smoothed[1]; 
    geomagnetic[2] = smoothed[2]; 
    accelOrMagnetic = true; 

} 

// get rotation matrix to get gravity and magnetic data 
SensorManager.getRotationMatrix(rotation, null, gravity, geomagnetic); 
// get bearing to target 
SensorManager.getOrientation(rotation, orientation); 
// east degrees of true North 
bearing = orientation[0]; 
// convert from radians to degrees 
bearing = Math.toDegrees(bearing); 

// fix difference between true North and magnetical North 
if (geomagneticField != null) { 
bearing += geomagneticField.getDeclination(); 
} 

// bearing must be in 0-360 
if (bearing < 0) { 
    bearing += 360; 
} 

// update compass view 
compassView.setBearing((float) bearing); 

if (accelOrMagnetic) { 
    compassView.postInvalidate(); 
} 

updateTextDirection(bearing); // display text direction on screen function 
} 
+0

LowpassFilterはローパスフィルタを提供する別のクラスです(これは、低周波信号のみを通過させ、高い周波数信号をブロックするための工学用語なので、データの大きな変化は無視します)。あなたはあなたのアプリにもそれを含める必要があります、今はそうではありません。 –

+0

私は可能なすべてのクラスを含めることを試みたが、私はまだあなたがどのクラスを教えてくれるか教えてください。 –

+0

欠落したインポートではなく、ファイルがありません。しかしそれはあなたのせいではありません。チュートリアルを書いた人はそれを投稿しませんでした。 –

答えて

関連する問題