Android最前線!(2)
◆さらっと「Android最前線」前回の記事紹介
Android勉強会 in 広島にさっそうと現れた森姫。第1セッションで基礎を学びました。そしていよいよ第2セッションへ。
◆実際に作るアプリ
第2セッションでは、実際に作ったアプリをデモで動かしながら説明という感じでした。今回はGPSとWebを使用したサンプルアプリのデモが行われました。「現在の位置情報を取得して近くのお店の地図とHPを表示する」というけっこう技術入りますが、シンプルなアプリです。
処理概要を聞いていると、「お、これは自分でもできそうだな」なんて勘違いをしてしまいそうなぐらいでした。いや、勘違いではなくて自分でも作れると信じたい。こんな根拠もない勘違いの理由は……。
◆最初に作ったアプリ
今より何カ月か前に時間もあったので簡単なアプリを作りました。最初はベタにHelloAndroidなんですけど。次に作ったのがサンプルアプリとしてソースコードも公開されているGoogleマップでした。ま、ただサンプルコピーするだけなら誰でもできるのでいろいろ改変して楽しんだのです。動作確認はエミュレータでしかやったことがないのですが……。
でも、実機はエミュレータどおりに動くらしいです。なのでたぶん動く。そんな初心者が変な勘違いした根拠は以上のとおりです。1つできたから、全部できるという気になる。しかし、初心者は「とりあえず動けばいいや、できたんだし」ぐらいに考えて肝心なことを考えたことがないんですよね。
◆ライフサイクルなんて考えたことなかった
プログラムにはもちろん、
起動→実行→終了
というライフサイクルがあるのですが、こういうものはかかなくても中の人が勝手にやってくれるものだと先日まで信じていました。
仕事でVBを使用してエクセルファイルを操作する時に、開きっぱなしだったためにタスクマネージャーに大量のEXCEL.EXEが残ってしまったというすごいオチ。
この出来事でライフサイクルって重要なんだなぁ「開いたものは閉じる!」は超基本だなぁと
実感したのですが、その実感がまさかAndoridでもでてくるとは!! って、どこでもでてくるんですけどね、この問題。こういう問題考慮しないと真のプログラマとはいえないですね。
◆アプリ独自の苦労話
今回のアプリ作成に関して次のような問題点がでました。
- 画面のレイアウトが異常にめんどくさい
- 日本語が太字にならない
- ファイル名に英大文字が使えない
- デバッグ用と公開用で別KEYの取得がいる
画面のレイアウトに関しては第1セッションにもあったのですが、基本的にプログラム制御なので異常にめんどくさいことは否めないですね。今のところエクリプスのプラグインが1番いいのでは? と言われていますが、これからに期待!
◆エミュレータどおりに動く
基本的に実機にいれたときはエミュレータと同じ動きをするとのこと。テストがしやすくていいですね!
しかし、エミュレータにはGPSは搭載されていないので自力で緯度経度をいれてやらないといけませんが……。
◆好きです
エミュレータどおりに実機でも動く。当たり前と思われるかもしれませんが案外これ、ないんですよね……。わたしの使い方がわるいのかもしれませんが、某社のアプリを作った時に、エミュレータと実機の動きが違いすぎて、仕事に支障がでたことがありました。ま、要するに手戻りがでちゃったということですけど。
中にはエミュレータでは動かなくて、実機に入れてテストしないといけないという世にも恐ろしいことをしたこともあります。今思えば、あんな末恐ろしいプログラムはなかったですね。
そんなわけで、エミュレータと実機で同じ動きをすると聞いた時にはかなりほっとしました。間違ったものを世に送り出す前に止められる。テストは嫌いですが、しっかりとやりましょう。
◆次回予告
第2部は第二セッションで聞いた「さらりと流すAndroidアプリ開発の基本」をベースにアプリ作成についてしみじみと書きました。第3部はラストセッションをベースに書きます!