22

という非常に興味深い Dependency Injection ライブラリを偶然見つけましたButterKnife。これを使用ButterKnifeすると、ビューをアクティビティまたはフラグメントに簡単に挿入できます。

class ExampleActivity extends Activity {
  @InjectView(R.id.title) TextView title;
  @InjectView(R.id.subtitle) TextView subtitle;
  @InjectView(R.id.footer) TextView footer;

  @Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_activity);
    ButterKnife.inject(this);
    // TODO Use "injected" views...
  }
}

ただし、依存性注入を使用する場合、それらのビューはそれを注入できるpublicようにする必要があります (フィールドを使用すると例外が発生します)。Butterknifeprivatefields must not be private or static

私の過去のプロジェクトでは、privateこれがベスト プラクティス (情報の隠蔽など) だと思っていたので、常にすべてのメンバー フィールド (ビューを含む) を作成していましたpublic。この場合は使えませんButterKnifeが、コードがかなり簡単になるので使いたいです。

4

1 に答える 1