読者です 読者をやめる 読者になる 読者になる

Pragmatic ball boy

iOSを中心にやってる万年球拾いの老害エンジニアメモ

GTUG Boot Camp 2011に参加してきた

GTUG Boot Camp 2011

Fragmentを使ってみよう

ハンドセット向けのレイアウトとロジックを流用したり
Fragmentを使うと動的にActivityを追加削除入れ替えできる
つまりFragment使うと部品として再利用しやすくなる

ハンドセット向けでFragmentを使う意味はある?
ある。
コンポーネントをFragment化することで、それぞれ使いまわせる
Activityのコードがすっきりする
例:iosched

縦横でレイアウトを変える場合にもつかえる。

同じActivityでレイアウトを変える場合(例:chrome to phone)
setCOntentViewだと前のViewの状態を保存されない
→Fragmentを使って置き換えて、Fragmentをバックスタックに保存すればいい

TabHostは3.2以降でduplicateになったのでFragmentにせざるを得ない

・Fragmentのいまいちなところ
完全修飾名でレイアウトXMLファイルに書かないといけない
グラフィカルエディタで表示できなかったり
Typoミスが発生する

・Fragment、View、Activityの使い分け
View カスタムView
描画とそのための最低限のロジック

Fragment 
View+そのViewに関連するロジック(Viewの操作やViewに表示するデータの処理)

Activity
それ以外。ActivityとFragment間のデータの受け渡しなど

Handson WebView

HoneyCombのシミュレータは重くて使い物にはならんがICS(IceCreamSandwitch)はまだ使える。。

・ICS
ハードキー(メニューキーがきえた)がなくなった。
アプリのターゲットSDKが10以下だと、右のほうにソフトキーでメニューキーが増える。
HoneyComb以降はアクションバーのメニューを使う
GPUをつかってかなりなめらかな動きになっている
ホーム画面が使いやすくなった。(アプリをフォルダにまとめたりできる)
デバイスデフォルトのテーマを使って開発すべき。

API Demos(デフォルトでシミュレータにはいってるやつ)ででもが見れる

・WebView
標準ブラウザのソースオードを見ると参考になる

JavaJavascriptを連携させるようなアプリだとICSで動かなくなる可能性がある。

・Handson 資料
https://docs.google.com/document/pub?id=1_T9PiCJCgMs1QdXPpdYcp7orOnRr1UU6qA5do_zsR2A

ノートPCをちゃんとセットアップしてなかったので、普通にeclipseAndroidのビルドではまってしまって、ハンズオンどころではなかったりして、感想もくそもないのですが。
準備はちゃんとやっとけってことです。

はまったところ:eclipseコンパイラの設定を1.5にする

Google+ APIの体験とHangoutsの紹介

説明資料
https://docs.google.com/presentation/d/1oDkvwodZmkBMeeInhkzDYbHKj7Ss2CoXvnU6OwpzcMQ/edit#slide=id.p

以下のAPIの仕様のリンクを見れば簡単にできそう。
https://developers.google.com/+/api/

一般公開されているのだけAPIで取得することができる。(取得のみ。postできない)

APIを使うにはまず登録が必要
https://code.google.com/apis/console/

Oauthの設定で気をつけるところ
Create an Oauth でunexpected error が出た場合はリロードすると治るっぽい。
2個ClientIDが作成された場合は長い方を必ず使う。

つかいやすいAPIでしたが、問題はやはり「取得」しかできす、しかも「一般公開」しているものというのが大きなネックです。

・Hangout

HangoutはGoogle+ビデオチャットの拡張ができるAPI
今回のHandsonではあらかじめ用意されたアプリと連携させるというもので
ビデオにドロイド君の絵がオーバーレイされて、
自分がしゃべるとドロイド君の口がパクパクするというもので、
他にもいろいろ使えそうな感じがしました。
ただまだ開発者のみしか使えないもので、2人以上いないと動かなかったり
設定が面倒だったりとまだまだといったところもあり