0
私はAndroidが初めてです。私は磁気センサーデータを使ってアプリケーションを作成しています。私はWifiに基づいた別のプログラムのソースコードに従っています。私の基本的なプログラムは、私はこれでセンサ値にアクセスするが、私は何をしたいことは、他のクラスのセンサ値を使用することですができハッシュマップのセンサー値を使用
public class MainActivity extends AppCompatActivity implements SensorEventListener{
Sensor magnetometer;
SensorManager sm;
public float a,b,c;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sm = (SensorManager) getSystemService(SENSOR_SERVICE);
sm.registerListener(this, sm.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD), SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {
getMag(event);
}
}
public static void getMag(SensorEvent event) {
float[] values = event.values;
float x = values[0];
float y = values[1];
float z = values[2];
float value = (float)Math.sqrt(Math.pow(x,2) +Math.pow(y,2) + Math.pow(z,2));
}
@Override
protected void onStop() {
super.onStop();
finish();
}
@Override
protected void onPause() {
super.onPause();
sm.unregisterListener(this);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
です。私が従っているソースコードでは、コードは次のように使用されます。だから、
//this is map activity, here for wifi, it just uses "getScanResult() to scan bssid and value, which can be used in onReciveWifiScanResult
public void onStart() {
super.onStart();
mReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context c, Intent intent)
{
onReceiveWifiScanResults(mWifi.getScanResults());
}
};
}
public void onReceiveWifiScanResults(List<ScanResult> results) {
}
//And the programmer used it in another class to store to the hashmap
public void onReceiveMagScanResults(List<ScanResult> results) {
HashMap<String, Integer> measurements = new HashMap<String, Integer>();
for (ScanResult result : results) {
measurements.put(result.BSSID, result.level);
}
TreeSet<String> keys = new TreeSet<String>();
keys.addAll(measurements.keySet());
keys.addAll(mMeasurements.keySet());
、どのように私は私のメインの活動の「onSensorChanged」イベントから私の磁気センサデータが「onReceiveWifiscanresult」の代わりに、上記放送受信機のように使用するために得ることができますか?
助けがあれば助かります。ありがとうございました。
このコードを使用無関係なタグを使用していないスパムを行います。 Andnoの 'java'と' javascript'は同じものではありません。 –
@Marcin。ありがとう、私はそれに気付かなかった。 –