おいしいFragment #antama_ws

1,267 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,267
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • おいしいFragment #antama_ws

    1. 1. おいしいFragment 31.3.2012Takahiro Yoshimura (@alterakey)
    2. 2. 自己紹介こんな人 埼玉で活動しているアーキテクトです。 FlashゲームからWebアプリまで。 Twitterやってます→@alterakey
    3. 3. さてFragmentと聞いて 何を思い浮べますか? 何に使えるものなのでしょう?
    4. 4. Fragment?Fragmentとは断片と見つけたりActivityを機能的に分解する方法大画面対応だけじゃない!Android 1.6∼で使えます
    5. 5. 大事なことなのでAndroid 1.6∼で使えます。Support Package
    6. 6. 簡単な例Activityから他のアプリを呼び出しましょう。Activity.startActivityForResult()Activity.onActivityResult()
    7. 7. 指針MainActivity.java(抜粋)public void onCreate(...) { ... this.startActivityForResult(intent, REQ_1); ...}...public void onActivityResult(int requestCode, ...) { if (requestCode == REQ_1) { ... } ...}
    8. 8. もしもこれがActivity.startActivityForResult()を複数箇所で呼び出していたら…?Activityがもっと複雑だったら…?カオス!!
    9. 9. 指針見通しを確保するために…Activityから機能を分離します。 REQ_1にまつわる部分
    10. 10. 指針MainActivity.java(抜粋)public class MainActivity extends FragmentActivity {... public void onCreate(...) { ... getSupportFragmentManager() .beginTransaction() .add(new RequestOneFragment(), null) .commit(); ... }...
    11. 11. 指針MainActivity.java(抜粋)...private class RequestOneFragment extends Fragment { private static final int REQ = 1; @Override public void onCreate(...) { super.onCreate(...); this.startActivityForResult(intent, REQ); } @Override public void onActivityResult(int requestCode, int resultCode, ...) { ... }}
    12. 12. こうすると「機能」ごとにまとまってすっきりする同じようなことをしたい時に使い回しが効く→機能を抽出しているので当然といえば当然…状態を保存するのにも使えるしかし自動テストの役には立ちにくい…
    13. 13. 大画面対応と聞くけどActivityからFragmentとしてUIを分離条件に合わせてレイアウトを読んで、Fragmentをはめこんで行けば…(e.g. 狭ければ別Activity、広ければペイン)
    14. 14. まとめFragmentはActivityの持つ「機能」のことペイン型UIやタブレットは関係ない今からでも使えるしかし自動テストの役にはあまり立たない
    15. 15. まとめgdgdになりがちだったActivity周辺の見通し確保にも有効再利用もできるガンガン使おう!
    16. 16. ご静聴ありがとうございました。

    ×