矢印の作成と値の受け渡しStep1で、センサーの値を最終的に「sensorValues」という配列に格納しました。この値を利用して、今から作成する矢印を北に向けて回転させます。視覚的に実際にコーディングしたものが動くのは楽しいと思いますので頑張りましょう。ここからは冒頭で作成した「CompassView.java」を編集していきます。Viewを継承します。加えてコンストラクタも生成しましょう。onDraw()メソッドを用意して、図形を描画する準備をします。描画オブジェクト「paint」を生成し、アンチエイリアスも指定します。Paint();paint.setAntiAlias(true);}}次は、実際に矢印を描いてみます。画像を用意する方法等他の方法はいくらでもあるのですが赤の三角形程度なら「drawPath()」で簡単に描くことができます。画面の中心に矢印を表示するために基準となる座標を指定します。液晶画面左上の角を起点に、X座標を「POS_COMPASSX」、Y座標を「POS_COMPASSY」とします。端末ごとに適切な位置は異なるので、後ほど適宜調節してください。今回は縦向きの液晶を持つ端末を対象に大まかな値を設定しています。「drawPath()」を内部に持つ「drawCompass()」メソッドを作成します。pathを利用して三角形を描き、赤色に塗りつぶしています。回転させる値を計算する「drawScreen()」メソッドを追加します。「direction」という変数にCompassApp.javaで格納した「sensorValues[0]」を代入して、その値から角度を計算するコードを書いています。「invalidate()」は、毎フレームごとに描画する命令です。「drawCompass()」に角度分矢印を回転させるコードを加え、「onDraw()」にてコンパスを描画すれば作業は終了です。CompassView.javaは以下のようになります。onDrawを呼び出して再描画invalidate();}}以上で、今回のコーディングは全て終了です。登録してみよう>>TOPへ会社案内プレスリリース災害用伝言版サービスサイト。