MZ3 for Android 作成中

MZ3mixi閲覧部分(要はオリジナルMZ3)を Android で実現しようとしています。

現状はmixiのトップページを取得して整形、表示するところまでできています。

http://gyazo.com/edd179e4656733286890ffe04e516bc6.png

http://gyazo.com/0a1262fb034ac3be6cd035cb4b2d113d.png

http://gyazo.com/e0dbd9d2ba06315af42fb77d57bf5730.png

というようにちゃんとメールアドレスとパスワードを設定した上で取得できます。

実質4日くらいでここまで作りましたが、生産性は WindowsMobile よりも圧倒的に高いですね。
簡単な画面なら XML 書いて(Eclipseでデザインして)、数行の Java コードを書くだけでできちゃいます。

自分が以前 Java をやっていたのは 1.4 の頃だったので、関数オブジェクト風の書き方なども知らなかったし。

さて、生産性が高いとはいっても Android 特有のフレームワークに右往左往したのは確かなので、ここまでに使った主要なトピックを並べておきます。

  • Intent
    • ログイン設定画面と行き来するところを作れました
  • Layout
    • LinearLayout も TableLayout も好きですが、特に面白かったのは weight かなー
  • Thread/Handler
    • メインスレッド(UI側)以外のスレッドからUIにアクセスすると例外が発生するので Handler 経由にする
    • Handler 経由にした処理はメインスレッド側が処理してくれるので例外にならない
  • ProgressDialog
    • 通信中は「ログイン中です...」的な画面を出して裏で通信スレッドが動く感じ
  • ListView
    • ListView はビューの塊。それぞれの Row が別々の View を持つ

ThreadやListViewの扱い方については色々調べて、試して、ようやくしっくりくる実装が見つかりました。

・・・が、今日購入した↓の本にはそのものずばりのやり方が書いてあってがっかりです。

コードからわかるAndroidプログラミングのしくみ 開発で困ったときの解決アプローチ
フランク・アブルソン チャーリー・コリンズ ロビ・セン
日経BP
売り上げランキング: 4303

個人的には Lua を導入して生産性を 256 倍にしたいんですけど、まだ先かなぁ。