2016-03-31 36 views
2

Ben android uygulama geliştiricisi bir acemi değilim, ve @bind ve @ Enjekte kullanarak birçok açık kaynak uygulamaları görülen ve ayrıca nelerdir merak ediyorum @Override@bind, @ Enjekte ve @Override

varsayılan ettik Bunlar ve farklar nelerdir @ Enjeksiyon LessonCatalogActivityPresenter lessonCatalogActivityPresenter;

@Inject 
MarketService marketService; 

@Inject 
ShareService shareService; 

@Bind(R.id.toolbar) 
Toolbar toolbar; 

@Bind(R.id.sliding_tabs) 
TabLayout tabLayout; 

@Bind(R.id.view_pager) 
ViewPager viewPager; 

@BindString(R.string.title_activity_lesson_catalog) 
String title; 

@Bind(R.id.fab) 
FloatingActionButton floatingActionButton; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_lesson_catalog); 
    ButterKnife.bind(this); 
    initToolbar(); 
    initTabs(); 
    initTitle(); 
    lessonCatalogActivityPresenter.setView(this); 
    lessonCatalogActivityPresenter.initialize(); 
} 

private void initToolbar() { 
    setSupportActionBar(toolbar); 
} 


private void initTabs() { 
    viewPager.setAdapter(new LessonsPageAdapter(getFragmentManager())); 
    viewPager.setOffscreenPageLimit(OFF_SCREEN_PAGE_LIMIT); 
    tabLayout.setupWithViewPager(viewPager); 
    viewPager.addOnPageChangeListener(this); 
} 

private void initTitle() { 
    getSupportActionBar().setTitle(title); 
} 

@Override 
public void injectActivity(ActivityComponent component) { 
    component.inject(this); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true;` 
+1

'süper sınıftan bir yöntemle 'Burada üste' bahsediyor sınıfın üstündeki ithalatta bir göz kalmadan emin olamaz, '@Inject' ve' Bind', ButterKnife ve Dagger gibi bir çeşit Bağımlılık Enjeksiyon Kitaplığı kullanıyor gibi görünüyorlar. –

cevap

1
  • @Override açıklama bu yöntem onun süper sınıfın birinde bulunduğunu gösterir, sizin örnekte bu javadoc

  • @Bind açıklama viewPager sizin örnek değişkenleri haritaya ButterKnife tarafından kullanılır bkz tabLayout .. kendi UI bileşenleri için

  • ve @Inject'untarafından kullanılan model olduğunu varsayalımhizmetinizdedir bağımlılık enjeksiyon uygulamak ama biz Override` @

+0

Bağlantı noktası. Kısa, ancak her üçünde de doğru. – Vucko