RoboGuice

先日vvakameさんにコメント頂いたが、AndroidでDIするなら、GuiceAndroid版でその名も"RoboGuice"というものがあるということ。早速見てみた。

roboguice - Project Hosting on Google Code

GuiceActivityにより拡張したActivityは、先日私が書いたのと同様にフィールドにビューやリソースを注入することができる。

class RoboWay extends GuiceActivity {
    @InjectView(R.id.name)
    TextView name;
    
    @InjectView(R.id.thumbnail)
    ImageView thumbnail;
    
    @InjectResource(R.drawable.icon)
    Drawable icon;
    
    @InjectResource(R.string.app_name)
    String myName;
    
    @Inject
    LocationManager loc;
} 

DIの手習いのある、又はGuiceを使ったことがあるデベロッパであればすぐにRoboGuiceのプログラミングスタイルに慣れることができるだろう。

2009年の夏に最初のチェックインが行われているので、私のほうが完全に後発だ。ちゃんとリサーチしておくべきだったなぁ。