23 Mar 2014, 07:35

Programming Mobile Applications for Android Handheld SystemsでAndoroidアーキテクチャの基礎を体系的に学んだ

Androidの学習をcourseraをつかってしました。

[//www.youtube.com/embed/szmWnKKvj9s]

内容

Lecture

<div class="outline-text-3" id="text-1-1">
  <p>
    Android開発で必要な知識を体系的に習得できる。
  </p>

  <p>
    特徴は、知識ベースの網羅的解説。 実際にアプリをつくって楽しみましょうというスタイルとは、正反対。 Androidの構成要素を、毎週少しずつ、徹底的に叩き込まれる感じだ。
  </p>

  <p>
    たくさんの知識を一気に解説してくるので、頭に入りきれない。
  </p>

  <p>
    アダム先生の話し方は、とても形式的。
  </p>

  <p>
    概念の説明、デモアプリの説明、ソースコードの説明、このサイクルが繰りかえされる。 説明のためのフレーズまで、定形的に毎回同じという徹底ぶりだ。
  </p>

  <p>
    ジェスチャーが多めで、しかも週の後半に進にしたがってジェスチャーのレベルが上がっていくのがおもしろい。
  </p>

  <p>
    スライドが白黒で地味なせいもあり、講義を一度きいても不思議とほとんど頭に入らないのが辛い。
  </p></p>
</div></p>

Assignment

<div class="outline-text-3" id="text-1-2">
  <p>
    課題に取り組むことで、知識の整理ができる感じ。課題はPDF 3枚くらいの仕様を実装して、毎週提出する。
  </p>

  <p>
    膨大なサンプルのデモコードが結構役に立つ。これはありがたい。 ネットで見つかるソースよりも、課題のサンプルのほうがやくにたつ。 このコードを見ながら、課題でコピペで使えそうな部分を探す。
  </p>

  <p>
    驚いたことに、課題はすべて自動でテストされるのだ! Robotiumという受け入れテストツールを利用しているようだ。
  </p>

  <blockquote class="twitter-tweet" lang="ja">
    <p>
      CourseraのAndroid講義、Robotiumというテスティングフレームワークを使って自動テストされる。
    </p>

    <p>
      &mdash; きつね (@tsu_nera) <a href="https://twitter.com/tsu_nera/statuses/429948312783822848">2014, 2月 2</a>
    </p>
  </blockquote>

  <p>
  </p>

  <p>
    これは、Androidが吐き出すログをパースして期待通りの結果どうか判定する。Androidテスト技術、恐るべし。
  </p>

  <p>
    あと、掲示板に先生みずから頻繁にコメントしているのもうれしい。
  </p></p>
</div></p>

感想

Android開発は期待していたほどおもしろくない、ということが分かった。 いや、おもしろいアプリをつくっていないからかもしれない、けど。

副読本として参考書も読みつつ進めた。 このAndoroidの本も、同じように網羅的なので、講義との相性はいいかも。電子書籍版を買った。

<div class='amazlink-box' style='text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;'><div class='amazlink-list' style='clear: both;'><div class='amazlink-image' style='float:left;margin:0px 12px 1px 0px;'><a href='http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0Android-Zigurd-Mednieks/dp/4873115353%3FSubscriptionId%3DAKIAJBCXQ4WQGJ7WU3WA%26tag%3Dsleephacker-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4873115353' target='_blank' rel='nofollow'><img src='http://ecx.images-amazon.com/images/I/51kRjx9TAzL._SL160_.jpg' style='border: none;' /></a></div><div class='amazlink-info' style='height:160; margin-bottom: 10px'><div class='amazlink-name' style='margin-bottom:10px;line-height:120%'><a href='http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0Android-Zigurd-Mednieks/dp/4873115353%3FSubscriptionId%3DAKIAJBCXQ4WQGJ7WU3WA%26tag%3Dsleephacker-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4873115353' rel='nofollow' target='_blank'>プログラミングAndroid</a></div><div class='amazlink-powered' style='font-size:80%;margin-top:5px;line-height:120%'>posted with <a href='http://amazlink.keizoku.com/' title='アマゾンアフィリエイトリンク作成ツール' target='_blank'>amazlink</a> at 14.02.23</div><div class='amazlink-detail'>Zigurd Mednieks<br /></div><div class='amazlink-sub-info' style='float: left;'><div class='amazlink-link' style='margin-top: 5px'><img src='http://amazlink.fuyu.gs/icon_amazon.png' width='18'><a href='http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0Android-Zigurd-Mednieks/dp/4873115353%3FSubscriptionId%3DAKIAJBCXQ4WQGJ7WU3WA%26tag%3Dsleephacker-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4873115353' rel='nofollow' target='_blank'>Amazon</a> <img src='http://amazlink.fuyu.gs/icon_rakuten.gif' width='18'><a href='http://hb.afl.rakuten.co.jp/hgc/g00q0724.n763w947.g00q0724.n763x2b4/archives/c=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F11570632%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Frms%2Fmsv%2FItem%3Fn%3D11570632%26surl%3Dbook' rel='nofollow' target='_blank'>楽天</a></div></div></div></div></div>

この講座を受けて一番よかったのは、Androidの設計思想、MvCを勉強できたことだ。 Androidというシステムのなかで、オブジェクトがいかにしてやりとりしているかが分かった。

それぞれのAPIのつかいかたは時間がたつと忘れてしまうけれども、 大枠のAndroidアーキは頭に残り、またこれからにも役立っていくだろう。