現在地描画の手順

現在地描画の手順
現在地を描画できるように
MyLocationOverlayクラスの
インスタンス作成
onProviderEnabled(LocationManager.GPS_PROVIDER)
でGPS有効化
enableMyLocation()
で自分ポイントの追跡有効化
runOnFirstFix()で
最初に位置情報が確定したときに
実行するコード指定
getMyLocation()で
自分ポイント取得
animateTo()で
指定座標に移動
MapViewに
Overlayを追加し
MapView.invalidate()で再描画

タッチイベントの用語解説

タッチイベントの用語解説 
タップ
画面を軽く叩く
別名、シングルタップ
ダブルタップ
タップを素早く2回行う
フリック
画面上を軽く払うように指を動かし
縦や横にページ移動
あと、ソフトウェアキーボードの
フリック入力にも使う
ピンチイン
画面を狭めるようにつまむ
縮小に使う
ピンチアウト
画面を広げるように二本指で操作
こっちは拡大に使う
マルチタッチ
同時に複数の個所にタッチ

Androidでよく使う単位

Androidでよく使う単位は
dp と sp
dpは
Destiny independent Pixels
spは
Scaled Pixel
なぜ、pxではないかというと
pxは画面の実際のピクセル数
つまりドット単位なので
端末により1インチあたりのピクセル数が違うと
実際に表示されるサイズも変わってしまうから
これに対して
dpなら
画面の表示密度から計算して求めるので
表示密度が違っても同じようなサイズを維持できる
spも同様に画面の表示密度で計算するけど
こちらは文字のフォントサイズの指定に使う

Androidでタブを使う方法

タブレイアウトを使うと
複数のタブにUI部品を配置できる
Androidでタブを使う方法は2つ
Activityを継承する方法

TabActivityの継承
まず、Activityの継承だと
タブごとに別々のアクティビティを割り当てる
TabActivityの継承の場合
同じアクティビティで
タブごとにビューを切り替えられる

タブレイアウト使用時の注意点

タブレイアウト使用時の注意点
レイアウトのルートノードはTabHost
であること
TabHostのidは 
@android:id/tabhost
にする
Tabhostは
タブを表示するためのTabWidget

コンテンツを表示するためのFrameLayoutを含む
TabWidgetのidは
@android:id/tabs
にすること
FrameLayoutのidは
@android:id/tabcontent
にすること

Androidアプリでセンサー使用

センサーを使うには
getSystemService()で
SensorManagerを取得
SensorManagerの
getSensorList()に
TYPE_ACCELEROMETER
加速度センサーを指定し、リストを得る
このリストの中から
list.get(0)
で加速度センサーを取得
あえて、指定しているのは
機種により複数のセンサー搭載もあるから
onResume()

SensorEventListenerを登録
登録は
mSensorManager.registerListener()
onStop()
でイベントリスナーの登録解除
解除は
mSensorManager.uNregisterListener()
ちなみに、
SensorEventListenerを
implicationしたら
以下のメソッドも実装すること
public void onAccuracyChanged(Sensor sensor,int accuracy)
public void onSensorChanged(SensorEvent event)
onAccuracyChanged()

センサー搭載の精度が変化した時に、呼び出される
onSensorChanged()は
センサーの値が変化したら呼び出される
onSensorChanged()
の引数 event のvalues配列には各軸の値があり
values[0] がX軸
values[1] がY軸
values[3] がZ軸
になります
ちなみに、定数も定義されているので
X軸なら
SensorManager.DATA_X
Y軸なら
SensorManager.DATA_Y
Z軸なら
SensorManager.DATA_Z

加速度について

加速度についてのメモ
加速度は
一定時間ごとに速度がどれだけ増加するか
を表す割合のこと
単位時間あたりの速度の変化率のこと
一般的にはm/s
meter per second per second
という単位で表現されるけど
加速度は重力の影響を受ける
重力と加速度による慣性力を区別することはできない
一般的だと
バスや電車で
発車や停車のとき、加速度による慣性力を体験してます
ちなみに、地球の重力により
物体が上から下へ落ちるときの加速度は
重力加速度といって
Gで表されます
よく、ラノベとかで何Gとかでたりします
重力加速度は
一般では 9.8m/s
だけと
厳密には緯度により変わるため
日本の場合、北海道と沖縄では
微妙に異なります
北海道のほうが大きく
沖縄の方が小さくなります
重力加速度は
物体を静止状態から自然落下させたときに
1秒後の落下速度が9.8m/sになること
加速度はX Y Zの3軸のベクトルで取得可能
ちなみに、加速度はAndroidアプリ作成に使います

HTC Jのサンプリングレート

Androidで音感知のアプリ作成で
サンプリングレートの設定を間違えたらエラーになりました
最初に設定したのは500にしてしまったのが原因でした
今回、HTC Jでは
サンプリングレートは
Xperia acroと同じく
44100Hzでした
数値が小さいと
アプリ起動しても予期せぬエラーがでましたとなり強制終了してしまいます