[{PageViewPlugin}]
[BlackBerry Developer's Environment], [GPSを使ったアプリケーション]
!!!Abstract
BBでGPSを使ったアプリを作ってみましょう。

!!!What's new
*2010年12月17日、[BlackBerryアプリ開発備忘録]へのリンクを追記

!!!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|5]、なかなかいけてる。

*実装関係
|[Eclipse|eclipse]#BB plug-inで開発しましょう

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

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

|R5について、現在見えている衛星を表示するには?どうもLocation.getExtraInfo()を使いそう[3|3]。いや、衛星数はわかるけど、NMEAのGSVデータが取れない。BBだけだと絵はかけないね。M-241使えるかな。

*課題
|BT747をプロジェクトとして、Eclipseに取り込み、BBにアップできるか?

|BBでファイルの保存

|BBでマップの表示 

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

!!!Reference 
#[#1]Andre Fabris. A11 . User Interface. http://na.blackberry.com/developers/resources/A11_User_Interface_V3.pdf
#[#2]RIM. Transitioning to Touch Screen Development. http://docs.blackberry.com/en/developers/deliverables/8488/Touch_Transition_Guide.pdf
#[#3]RIM. BlackBerry デバイスが追跡する GPS 衛星の数の取得. http://docs.blackberry.com/en/developers/deliverables/9951/Get_number_of_GPS_sattelitess_that_BB_device_468131_11.jsp
#[#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]brands emotion. 2008. BeGPS. http://www.brandsemotion.de/en/Products/beGPS/