QA@IT
«質問へ戻る

2
本文
-androidのセンサーについてを表示する部分でソース通りにつくっているのですが、commentと32行目と33行目にあるlvaluex,lvaluey,lvaluezでエラーが出てしまいます。初心者なものでどうすればいいのかわかりません。原因は一体何なのか教えていただけるとありがたいです。
+androidのセンサーについてを表示する部分でソース通りにつくっているのですが、mainとcommentと32行目と33行目にあるlvaluex,lvaluey,lvaluezでエラーが出てしまいます。初心者なものでどうすればいいのかわかりません。原因は一体何なのか教えていただけるとありがたいです。
+追記:エラーの内容は、『解決できないかフィールドがありません』と出てしまいます。よろしくお願いします。
 
 package com.m_hi.android;
 
 	@Override
 	public void onCreate(Bundle savedInstanceState) {
 		super.onCreate(savedInstanceState);
-		setContentView(R.layout.main);
+		setContentView(R.layout.main);←ここと
 
 		SensorManager manager = (SensorManager) getSystemService(SENSOR_SERVICE);
 		List<Sensor> sensors = manager.getSensorList(Sensor.TYPE_ALL);
 
 	}
 } 
+

eclipseでアンドロイドの歩数計アプリをつくっているのですが、エラーが出てしまいます。

androidのセンサーについてを表示する部分でソース通りにつくっているのですが、mainとcommentと32行目と33行目にあるlvaluex,lvaluey,lvaluezでエラーが出てしまいます。初心者なものでどうすればいいのかわかりません。原因は一体何なのか教えていただけるとありがたいです。
追記:エラーの内容は、『解決できないかフィールドがありません』と出てしまいます。よろしくお願いします。

package com.m_hi.android;

import java.util.List;

import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class CheckAccelerometerActivity extends Activity {
/** Called when the activity is first created. */
SensorAdapter ad;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);←ここと

    SensorManager manager = (SensorManager) getSystemService(SENSOR_SERVICE);
    List<Sensor> sensors = manager.getSensorList(Sensor.TYPE_ALL);
    TextView comment = (TextView) findViewById(R.id.comment);←ここと
    String val = "サポートセンサー\n";
    for (Sensor s : sensors) {
        val += s.getName() + "\n";
    }
    comment.setText(val);

    ad = new SensorAdapter(findViewById(R.id.lvaluex),
            findViewById(R.id.lvaluey), findViewById(R.id.lvaluez)); ←ここです。
}

@Override
protected void onDestroy() {
    super.onDestroy();
    ad.stopSensor();
}

class SensorAdapter implements SensorEventListener {

    private SensorManager manager;
    private TextView vx;
    private TextView vy;
    private TextView vz;

    public SensorAdapter(View vx, View vy, View vz) {
        manager = (SensorManager) getSystemService(SENSOR_SERVICE);
        this.vx = (TextView) vx;
        this.vy = (TextView) vy;
        this.vz = (TextView) vz;
        List<Sensor> sensors = manager
                .getSensorList(Sensor.TYPE_ACCELEROMETER);
        if (sensors.size() > 0) {
            Sensor s = sensors.get(0);
            manager.registerListener(this, s, SensorManager.SENSOR_DELAY_UI);
        }
    }

    public void stopSensor() {
        manager.unregisterListener(this);
        this.vx = null;
        this.vy = null;
        this.vz = null;
    }

    @Override
    public void onAccuracyChanged(Sensor arg0, int arg1) {
    }

    @Override
    public void onSensorChanged(SensorEvent event) {
        if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {

            vx.setText("" + event.values[0]);
            vy.setText("" + event.values[1]);
            vz.setText("" + event.values[2]);
        }
    }

}

}

androidのセンサーについてを表示する部分でソース通りにつくっているのですが、mainとcommentと32行目と33行目にあるlvaluex,lvaluey,lvaluezでエラーが出てしまいます。初心者なものでどうすればいいのかわかりません。原因は一体何なのか教えていただけるとありがたいです。
追記:エラーの内容は、『解決できないかフィールドがありません』と出てしまいます。よろしくお願いします。

package com.m_hi.android;

import java.util.List;

import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class CheckAccelerometerActivity extends Activity {
	/** Called when the activity is first created. */
	SensorAdapter ad;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);←ここと

		SensorManager manager = (SensorManager) getSystemService(SENSOR_SERVICE);
		List<Sensor> sensors = manager.getSensorList(Sensor.TYPE_ALL);
		TextView comment = (TextView) findViewById(R.id.comment);←ここと
		String val = "サポートセンサー\n";
		for (Sensor s : sensors) {
			val += s.getName() + "\n";
		}
		comment.setText(val);

		ad = new SensorAdapter(findViewById(R.id.lvaluex),
				findViewById(R.id.lvaluey), findViewById(R.id.lvaluez)); ←ここです。
	}

	@Override
	protected void onDestroy() {
		super.onDestroy();
		ad.stopSensor();
	}

	class SensorAdapter implements SensorEventListener {

		private SensorManager manager;
		private TextView vx;
		private TextView vy;
		private TextView vz;

		public SensorAdapter(View vx, View vy, View vz) {
			manager = (SensorManager) getSystemService(SENSOR_SERVICE);
			this.vx = (TextView) vx;
			this.vy = (TextView) vy;
			this.vz = (TextView) vz;
			List<Sensor> sensors = manager
					.getSensorList(Sensor.TYPE_ACCELEROMETER);
			if (sensors.size() > 0) {
				Sensor s = sensors.get(0);
				manager.registerListener(this, s, SensorManager.SENSOR_DELAY_UI);
			}
		}

		public void stopSensor() {
			manager.unregisterListener(this);
			this.vx = null;
			this.vy = null;
			this.vz = null;
		}

		@Override
		public void onAccuracyChanged(Sensor arg0, int arg1) {
		}

		@Override
		public void onSensorChanged(SensorEvent event) {
			if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {

				vx.setText("" + event.values[0]);
				vy.setText("" + event.values[1]);
				vz.setText("" + event.values[2]);
			}
		}

	}
}

質問を投稿

eclipseでアンドロイドの歩数計アプリをつくっているのですが、エラーが出てしまいます。

androidのセンサーについてを表示する部分でソース通りにつくっているのですが、commentと32行目と33行目にあるlvaluex,lvaluey,lvaluezでエラーが出てしまいます。初心者なものでどうすればいいのかわかりません。原因は一体何なのか教えていただけるとありがたいです。

package com.m_hi.android;

import java.util.List;

import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class CheckAccelerometerActivity extends Activity {
/** Called when the activity is first created. */
SensorAdapter ad;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    SensorManager manager = (SensorManager) getSystemService(SENSOR_SERVICE);
    List<Sensor> sensors = manager.getSensorList(Sensor.TYPE_ALL);
    TextView comment = (TextView) findViewById(R.id.comment);←ここと
    String val = "サポートセンサー\n";
    for (Sensor s : sensors) {
        val += s.getName() + "\n";
    }
    comment.setText(val);

    ad = new SensorAdapter(findViewById(R.id.lvaluex),
            findViewById(R.id.lvaluey), findViewById(R.id.lvaluez)); ←ここです。
}

@Override
protected void onDestroy() {
    super.onDestroy();
    ad.stopSensor();
}

class SensorAdapter implements SensorEventListener {

    private SensorManager manager;
    private TextView vx;
    private TextView vy;
    private TextView vz;

    public SensorAdapter(View vx, View vy, View vz) {
        manager = (SensorManager) getSystemService(SENSOR_SERVICE);
        this.vx = (TextView) vx;
        this.vy = (TextView) vy;
        this.vz = (TextView) vz;
        List<Sensor> sensors = manager
                .getSensorList(Sensor.TYPE_ACCELEROMETER);
        if (sensors.size() > 0) {
            Sensor s = sensors.get(0);
            manager.registerListener(this, s, SensorManager.SENSOR_DELAY_UI);
        }
    }

    public void stopSensor() {
        manager.unregisterListener(this);
        this.vx = null;
        this.vy = null;
        this.vz = null;
    }

    @Override
    public void onAccuracyChanged(Sensor arg0, int arg1) {
    }

    @Override
    public void onSensorChanged(SensorEvent event) {
        if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {

            vx.setText("" + event.values[0]);
            vy.setText("" + event.values[1]);
            vz.setText("" + event.values[2]);
        }
    }

}

}

androidのセンサーについてを表示する部分でソース通りにつくっているのですが、commentと32行目と33行目にあるlvaluex,lvaluey,lvaluezでエラーが出てしまいます。初心者なものでどうすればいいのかわかりません。原因は一体何なのか教えていただけるとありがたいです。

package com.m_hi.android;

import java.util.List;

import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class CheckAccelerometerActivity extends Activity {
	/** Called when the activity is first created. */
	SensorAdapter ad;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		SensorManager manager = (SensorManager) getSystemService(SENSOR_SERVICE);
		List<Sensor> sensors = manager.getSensorList(Sensor.TYPE_ALL);
		TextView comment = (TextView) findViewById(R.id.comment);←ここと
		String val = "サポートセンサー\n";
		for (Sensor s : sensors) {
			val += s.getName() + "\n";
		}
		comment.setText(val);

		ad = new SensorAdapter(findViewById(R.id.lvaluex),
				findViewById(R.id.lvaluey), findViewById(R.id.lvaluez)); ←ここです。
	}

	@Override
	protected void onDestroy() {
		super.onDestroy();
		ad.stopSensor();
	}

	class SensorAdapter implements SensorEventListener {

		private SensorManager manager;
		private TextView vx;
		private TextView vy;
		private TextView vz;

		public SensorAdapter(View vx, View vy, View vz) {
			manager = (SensorManager) getSystemService(SENSOR_SERVICE);
			this.vx = (TextView) vx;
			this.vy = (TextView) vy;
			this.vz = (TextView) vz;
			List<Sensor> sensors = manager
					.getSensorList(Sensor.TYPE_ACCELEROMETER);
			if (sensors.size() > 0) {
				Sensor s = sensors.get(0);
				manager.registerListener(this, s, SensorManager.SENSOR_DELAY_UI);
			}
		}

		public void stopSensor() {
			manager.unregisterListener(this);
			this.vx = null;
			this.vy = null;
			this.vz = null;
		}

		@Override
		public void onAccuracyChanged(Sensor arg0, int arg1) {
		}

		@Override
		public void onSensorChanged(SensorEvent event) {
			if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {

				vx.setText("" + event.values[0]);
				vy.setText("" + event.values[1]);
				vz.setText("" + event.values[2]);
			}
		}

	}
}