- Austria(オーストリア)
- Germany(ドイツ)
- United Kingdom(イギリス)
- United States(アメリカ合衆国)
※2009年4月2日現在
※ただし、USとUK在住の開発者に限る(追記)
※2009年4月2日現在
※ただし、USとUK在住の開発者に限る(追記)
センサーマネージャーのサンプルコードです。
public class SensorSample extends Activity implements SensorListener {
private SensorManager mSensorManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
}
@Override
protected void onResume() {
super.onResume();
mSensorManager.registerListener(this,
SensorManager.SENSOR_ORIENTATION,
SensorManager.SENSOR_DELAY_FASTEST);
}
@Override
protected void onStop() {
mSensorManager.unregisterListener(this);
super.onStop();
}
@Override
public void onSensorChanged(int arg0, float[] arg1) {
switch (arg0) {
case SensorManager.SENSOR_ORIENTATION: // 1
// arg1[0]
// arg1[1]
// arg1[2]
break;
}
}
}
SensorManagerのインスタンスを取得するには、ActivityクラスのgetSystemService()を呼び出します。
センサーイベントをリスニングするには、同インスタンスに対し、registerListener()を呼び出します。
このとき、
第1引数には、SensorListnerを実装したクラスのインスタンス、
第2引数には、リスニングしたいセンサーの種類(をビットフィールドで指定)、
第3引数には、リスニングする頻度、
を指定します。
すると、SensorListnerを実装したクラスのインスタンスのonSensorChanged()が呼び出されますので、
引数として渡された、arg1[]を参照することで、センサーの値にアクセスできます。
参考となるサンプルコードは、ApiDemos\src\com\example\android\apis\os\Sensors.javaです。
※2009/04/07追記:public void onAccuracyChanged(int sensor, int accuracy) {} も必要です。
※2009/04/30追記:unregisterListener()を呼び出すのは、OnStop()よりも、onPause()の方が正しい?かも
※2009/04/30追記:更新された内容を含む新しい記事「[Android] Redesigned Sensor Manager APIs(Android1.5) | The type SensorListener is deprecated - adakoda」があります
トーン(BEEP音)生成のサンプルコード。
ToneGenerator toneGenerator = new ToneGenerator(AudioManager.STREAM_SYSTEM, ToneGenerator.MAX_VOLUME); toneGenerator.startTone(ToneGenerator.TONE_PROP_BEEP);
タッチイベントに応答するには、onTouchEvent()をオーバーライドします。
引数のMotionEventには、タッチされた際の情報が格納されてきますので、
getX()、getY()で、タッチされた座標、
getEventTime()で、タッチされた時間(ms)、
getAction()で、タッチアクションを取得できます。
タッチアクションとは、タッチ動作を表した定数で、例えば、
ACTION_DOWN→ACTION_MOVE(何回か繰り返し)→ ACTION_UP
のようになります。
参考となるサンプルコードは、ApiDemos/Graphics/FingerPaintです。

Android Dev PhoneのシステムイメージがHTCから正式に公開されました。
→
http://www.htc.com/www/support/android/adp.html
以下、実際にAndroid1.0からAndroid1.1へ書き換えた際のメモです。
事前準備
上記サイトから、OS毎のfastboot、バージョン毎のSystem Image、Radio Imageをダウンロードする。
※1.0、1.1の両方ダウンロードしておくことをお勧めします
Update the Device Radio Firmware
Flash the System Image to the Device
ファームウェアのバージョンは、Setting - About Phone - Firmware versionで確認できます。
ハマりどころは、fastbootで< waiting for device >と表示された場合の対処方法ですが、それ以外は問題なくできました。
※参考にした記事