Android NOTE è un framework di annotazione-driven che consente di semplificare il codice nelle applicazioni e riduce il testo standard di modelli comuni, come l'impostazione ascoltatori click, far rispettare ui/sfondo esecuzioni thread, ecc
Si potrebbe andare da avere qualcosa di simile:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView descriptionTextView = (TextView) findViewById(R.id.tv_description);
final Button hideButton = (Button) findViewById(R.id.btn_hide);
hideButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
descriptionTextView.setVisibility(View.INVISIBLE);
}
});
}
}
Per qualcosa di simile:
@EActivity(R.layout.activity_main)
public class MainActivity extends AppCompatActivity {
@ViewById(R.id.tv_description)
TextView mDescriptionTextView;
@Click(R.id.btn_hide)
protected void onHideButtonClick() {
mDescriptionTextView.setVisibility(View.INVISIBLE);
}
}
Come funziona
di annotare le attività e componenti, il processore annotazioni poi genera le classi (in fase di compilazione) che estendono le attività e componenti (vale a dire le tue attività non possono essere definitive) con un suffisso di sottolineatura di default, quindi se hai MainActivity
, ora avrai anche una classe MainActivity_
.
Questa nuova classe contiene un codice boilerplate ben scritto che fa tutto ciò che specifica l'annotazione.
Come implementare
ho scritto questo tutorial su come integrare Android annotazioni e includere anche un esempio di come i test di integrazione vengono aggiornate, check here.
Quel tutorial è valido fino ad oggi, utilizzando Android Studio ~ 1.5.1, e tenta di spiegare un po 'come funziona l'interno.
Si deve utilizzare?
Direi che se si ha un progetto medio-piccolo va bene. Renderà il tuo codice più facile da leggere. Ma se la tua applicazione è più grande e contiene molti flussi di navigazione con cicli di attività/componenti complessi, può essere un po 'difficile da implementare o difficile da eseguire il debug e comprendere gli errori se qualcosa non è correttamente annotato.
A causa di come annotazioni Android operare, si incorporare nel ciclo di vita e così facendo, si sono ora dipendenti del loro ciclo di vita (ad esempio, se di annotare le vostre opinioni con @ViewById
, allora non è possibile fare riferimento a onCreate()
, è è necessario creare un metodo e annotarlo con @AfterViews
e quando questo metodo viene eseguito, le visualizzazioni sono pronte per essere utilizzate). Questo non è necessariamente un problema, devi solo avere una buona conoscenza dei comportamenti di Android e dei comportamenti di Annotazioni Android.
In sintesi, come in qualsiasi libreria, se si dipende da esso, bene si dipende da esso, quindi si potrebbe anche capire molto bene come funziona. Il tuo progetto ora dipende da qualcun altro.
Grazie alla sua veramente utile, ma dovremo tenere a mente 2 cose 1- Per chiamare MainActivity utilizzando qualsiasi parte file Java dovremo utilizzare il nome MainActivity_ invece di progetto MainActivity 2- sincronizzazione con i file Gradle dopo la pulizia della progetto se c'è qualche problema – priyanka