Android 0, ripulisci il casting
Una delle cose che Google annuncia in IO 2017 è qualcosa che si chiama 'getti via' :). Lo sviluppatore Android non deve eseguire un casting manuale per findViewById (). Ad esempio, il vecchio modo per ottenere una vista di testo usando findViewById () sarebbe qualcosa del genere.
TextView txtDesc = (TextView) findViewById(R.id.textViewDesc);
txtDesc.setText(getString(R.string.info_angkot_description));
Mentre il nuovo modo sarebbe così
TextView txtDesc = findViewById(R.id.textViewDesc);
txtDesc.setText(getString(R.string.info_angkot_description));
È un semplice cambiamento. Ma per un programmatore esperto, un codice pulito come questo può renderti molto felice e aiuta con il tuo umore di programmazione :)
Per poterlo fare, devi solo impostare la versione di sdk compilata dal tuo progetto sulla versione 26 nella tua app build.gradle.
Puoi comunque scegliere come target anche la versione precedente di sdk, quindi si tratta di modifiche non intrusive.
Ora il vero problema, come si pulisce quel vecchio codice che utilizza il cast tutto questo tempo. Soprattutto quando hai centinaia di file di attività. Puoi farlo manualmente o magari assumere un stagista per farlo 😛. Ma per fortuna per tutti quegli stagisti, Android Studio è già pronto ad aiutarci con questo.
Quando metti il tuo cursore (o fai clic sul casting ridondante) Android Studio suggerirà 2 opzioni per gestire il casting ridondante.
Innanzitutto ti suggerirà di rimuovere quel cast ridondante o puoi selezionare il codice di pulizia. Rimuoverà tutto il cast ridondante per quel file. Questo è meglio, ma vogliamo di più. Non vogliamo aprire ogni file e ripulirlo uno per uno.
Una delle cose che rendono speciale IntelliJ è che una caratteristica che si chiama azione intenzionale. Tutto quello che devi fare è premere ctrl + maiusc + A e quindi digitare clean. E selezionare l'azione Pulizia codice, quindi selezionare l'intero ambito del progetto. Con questi pochi semplici passaggi il tuo codice sarà molto più pulito.
Un punto importante è che lo fai con un sistema di versioning del codice. In questo modo è possibile confrontare le modifiche apportate dall'azione intenzionale e ripristinare tutti i file desiderati.
Copiato dal post originale:
https://medium.com/@abangkis/android-0-clean-up-casting-c30acec56cef
<T extends View> T findViewById(int id)
?