AndroidでARアプリ的なものを作るときのためのメモ
やるべきこと
- カメラ映像の表示
- オーバーレイ表示
- センサーから端末の向きを取得
- 現在位置の取得
カメラ映像の表示
- AndroidManifest.xmlにカメラの使用と許可を宣言
- SurfaceViewに表示させる
- カメラの画角はCamera#getHorizontalViewAngle(),Camera#getVerticalViewAngle()で取得できる
// 関連クラス/インタフェース import android.hardware.Camera; import android.view.SurfaceView; import android.view.SurfaceHolder; import android.view.SurfaceHolder.Callback;
※ API21以降では、android.hardware.camera2.*を使うらしい。しらんけど。
オーバーレイ表示
センサーから端末の向きを取得
- 地磁気センサと加速度センサから向きを計算
- SensorManager.getOrientation()を使用
// 関連クラス/インタフェース import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager;
現在位置の取得
- AndroidManifest.xmlに位置情報の許可を宣言
- 逆ジオコーディング(経度・緯度から住所を取得)
- Geocoder#getFromLocation()
// 関連クラス/インタフェース import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.location.Geocoder; import android.location.Address;