BlackBerry Developer's Environment, GPSを使ったアプリケーション

Abstract#

BBでGPSを使ったアプリを作ってみましょう。

What's new#

Topic#

  • 要求
今いる場所がリアルタイムでわかること。自動、もしくはボタンを押すことで最新の位置情報が入手できる。(R1)

地図上に表示できること(R2)

いた場所を記録できること(R3)

移動距離を計算できること(R4)

現在見えている衛星が図表示できること(R5)

一定時間内で見えていた衛星を図で表示できること(R6)
  • ユーザインターフェース
Top画面には、アプリ名があり、受信状況をGood, Badで表示。
Goodの場合は、緯度、経度、高度を表示

その際、メニューには、Retry、Map、Record、Satelliteがある。メニューのつけ方は[1]

画面に絵を書くには、FieldクラスをMain Screenに追加して、そのFieldクラスのPaint(Graphics g)を呼んでやる事になりそう[2]
  • 開発方針
エラーをできるだけ上位で処理。

パッケージ名は"com.hirotate.gpsbb"

BB以外にも移植できるように、GPS部分とBB部分をできるだけ分離する。具体的には、ImportするパッケージをRIMとJAVAのJ2ME部分の分離

新たに作るのではなく、既存のもの(BT747)を最大限活用する。

あとは、既存のソフトで実現されているのも避ける。BBのフリーアプリとして[beGPS One]、なかなかいけてる。
  • 実装関係
Eclipse#BB plug-inで開発しましょう

R1については、BT747で実現済み。

getLocation()は、イベント系のスレッドからは、呼び出してはいけないらしい([RIM 2009] 7)。えー、使いにくい。LocationListenerというのを使うのでしょう。

R5について、現在見えている衛星を表示するには?どうもLocation.getExtraInfo()を使いそう[3]。いや、衛星数はわかるけど、NMEAのGSVデータが取れない。BBだけだと絵はかけないね。M-241使えるかな。
  • 課題
BT747をプロジェクトとして、Eclipseに取り込み、BBにアップできるか?

BBでファイルの保存

BBでマップの表示

その他、Eclipse#BB Pluginでアプリを作っていた際に得た知識をこちらに記録します。

Reference #

  1. [#1]Andre Fabris. A11 . User Interface. http://na.blackberry.com/developers/resources/A11_User_Interface_V3.pdf
  2. [#2]RIM. Transitioning to Touch Screen Development. http://docs.blackberry.com/en/developers/deliverables/8488/Touch_Transition_Guide.pdf
  3. [#3]RIM. BlackBerry デバイスが追跡する GPS 衛星の数の取得. http://docs.blackberry.com/en/developers/deliverables/9951/Get_number_of_GPS_sattelitess_that_BB_device_468131_11.jsp
  4. [#4]RIM. 2009. BlackBerry Java Development Environment GPS and BlackBerry Maps バージョン: 4.7.0 開発ガイド. http://docs.blackberry.com/en/developers/deliverables/9950/BlackBerry_Java_Development_Environment**596846*0831092835*020*4.7.0*JA.pdf
  5. [#5]brands emotion. 2008. BeGPS. http://www.brandsemotion.de/en/Products/beGPS/