App InventorのLocationSensorを常時生かしておくためには、MyTracksなどの別アプリをバックグラウンドで動かしておき、そちらから位置情報を横取りする必要があるというのは前回お知らせしたとおりです。
位置情報取得間隔が1分以上あれば、こんなことをする必要も無いのですが、ラリーコンピューターに必須の距離算出には1秒程度の間隔が必要になります。
ということでの横取り作戦だったわけですが、横取りというくらいなので、常に正しく取得できるわけではありません。何かのタイミングによっては、”Null"となってしまう瞬間があり、そのタイミングでラリコンアプリから横取りをすると、その後の2点間距離計算時に、数値ではないということでエラーとなり、強制終了してしまうということが頻発しました。
正直AppInventorの限界を感じつつも、
「自分が工夫・勉強していないだけで、解決方法があるのではないか?」
という捨てきれない思いがあったので、まずは”Null"だったときに計算等をスキップしては?という分岐を作ってみます。
しばらくの間はこれで回避できていたのですが、やはりタイミングが合うとアウト!・・・・
ということで、根本的な解決案ではありませんでした。
その後もいろいろ試してみましたが、自分の技量ではどうしても解決にはいたりませんでした。しかも、早い段階で完成したと思われた時計表示についても、距離計算を実装したあたりから、正しく1秒毎に表示できなくなり、2秒おきとか3秒おきなど、とてもラリーに使える代物ではなくなってきてしまいました。
「ここらがApp Inventorの限界か!?」
ひょっとしたら、もっと根本的なところが間違っていたのかもしれません。また、今のApp Inventorは今後、このあたりは進化するのかもしれません。でも昨年末の段階では、私の中では
”App Inventorで作るラリコンアプリ”
は、このあたりが限界かな?と着地することにしました。
当初の目的が”App Inventor”を勉強する、使ってみるということだったので、個人的にはこれでラリコンアプリプロジェクトは終わっても良かったのですが、この頃すでに他のラリー関係者からご連絡をいただき、”駄作です”という前提でこの状態のアプリをお送りしていたのです。
おそらくかなり期待をしていただいていたのかと思いますが、作った本人が”駄作”というくらいなので、今思うと、かなり申し訳無かったものだったはずです。
その”申し訳ない”という気持ちと、何より
”こんなもんか・・・・”
と思われているであろうことが自分としてはめちゃくちゃ悔しかったので、ならばということで、禁断の
JAVA
へ手をつけてみる決心をしたのでした。
ASE Rally Monitorの本当のスタートは、ここからです。やっぱり人間
”悔しい”
という思いから始まるのかな?と今回も実感しました。
ラリーでも”あいつより遅い”といわれることが悔しいと思える人は、きっと速くなれます。でも、”あいつはあれを使ってるから仕方ない”とか”あの車はあ~だから・・・”と自分で勝手に線を引いてしまう人は成長が止まってしまうでしょう。それと一緒ですね。
ということで、いよいよJAVAによる正攻法のアプリ開発がスタートです。
※App Inventorのことでお困りの方は、以下のサイトでいろいろ探すと答えが見つかるかもしれません。私も大分助けられました。ただし全部英語です・・・。
App Inventor Coffee Shop
0 件のコメント:
コメントを投稿