2011年10月6日

Android アプリケーションの作り方を勉強中

本格的にガッツリやってるわけじゃないので進行速度は結構遅いものの、少しずつ調べつつコード書きつつ学んでるところ。
今のところ知ったことなどを書いてまとめつつ進める。
Java もほとんど触ったことない。
  1. SDK をインストールして実機とエミュレータで HelloWorld を動かした
    上手くいったし開発環境もよくできてる気がする
  2. 画像を選択するための Intent をどうやって発行するのか調べた
    Intent.ACTION_PICK で setType("image/*") するのがそれっぽい
    検索してる時に機種によっては発行の仕方によって上手く動かないケースの話を見た気がする
    (記憶が曖昧)
  3. MediaStore.ACTION_IMAGE_CAPTURE を使えばカメラのデータも Intent で受け取れるらしい
    ただし機種によって受け取り方が違うらしい記述を見かけた(特にXperia)
  4. Android3.x 系のエミュレータ上で標準のギャラリーアプリを起動すると落ちてしまう
    実機上では問題ないのでエミュレータ上にサードパーティ製のギャラリーアプリを入れて回避
  5. ViewFilpper を使うと複数の View をアニメーションで切り替えできることを知ったので使ってみた
    でかいスクリーンサイズでスライドアニメーションしてもスムースじゃなくて微妙だった
  6. 大きい画像を Bitmap クラスに読み込む時そこそこ長い時間止まってしまうので、別スレッドで読み込み処理をすることにして、画面はローディングアニメーションアイコンを置いておこう
    別スレッドから UI 触れないというよくある話は Handler で解決するようだ。簡単にできちゃって凄い
  7. 戻るボタンを押すとアプリが終了してしまうので ViewFlipper はなんか一般的じゃない方法のような予感がした
    よくよく調べてみたら基本形は1つのActivityでひとつの画面で対応させる感じだとか
    今作ってるアプリは Intent 発行ボタンを押す → ローディングアニメーションアイコン → 読み込み後の画面 という感じで画面が変わっていくんだけど、Intent 発行ボタンがある画面は別の Activity がよさそうな気がする
  8. Eclipse 上で新規 Activity 作る方法を調べて Activity を追加した
  9. Activity を切り替える方法がわからないので調べた
    これも Intent だった。スマートで凄い
  10. 相変わらず画面切り替えにはエフェクトがあったほうがいいと思うので調べた
    android:activityOpenEnterAnimation とかその周辺がそれっぽい
    ちょっと面倒そうだけどやってること自体は単純っぽい
Clip to Evernote