Questa domanda ha già molto buone risposte.
La mia risposta è per quelle persone che cercano un esempio funzionante.
Ecco il pieno funzionamento ->CODE
Non stiamo facendo nulla di nuovo qui, è proprio come qualsiasi altro scenario eredità (Volete un comportamento comune a più posti, ma si desidera scrivere che comportamento solo una volta).
VANTAGGIO: Esso fornisce una migliore leggibilità del codice, manutenibilità e bla blah.But non sono dopo questi -ibility, Essi non importa a voi se il vostro cervello funziona come una gazzella.
Ci occupiamo del vero potere dell'eredità "CONTROLLO". (Questo è quello che succede anche nella vita reale. Genitore che controlla il bambino :)).
Nel mio esempio ho due attività MainActivity e OtherActivity. Entrambe le attività hanno un layout diverso ma voglio che entrambe inizino con qualche animazione o qualche messaggio di benvenuto.
Il nostro primo compito è scoprire il comportamento comune. qui -> Avvia attività con animazione.
Abbiamo trovato la "cosa" comune, ora scriveremo questo comportamento in BaseClass (AnimationActivity).
MainActivity e OtherActivity erediteranno AnimationActivity.
Quindi il codice sarebbe simile a `
BaseActivity
AnimationActivity {
startAnimation()
{
....
}
}
attività per bambini
MainActivity extends AnimationActivity{
}
OtherActivity extends AnimationActivity{
}
Questo approccio progettuale fornisce un sacco di Controllo e Flessibilità (POTENZA DEL MODIFICATORE).
1) CONTROLLO: Tenere metodo di animazione all'interno onCreate() Quando si decide che le attività deve essere iniziato con animazione. Mantieni il tuo metodo all'interno del metodo onCreate (Bundle bundle). Ora semplicemente cambiando il modificatore puoi controllare le Attività minori.
Se si mantiene il modificatore come
final: le attività figlio inizieranno con Animazione principale.
abstract: Le attività secondarie dovranno dare la propria animazione.
no modificatore: le attività figlio possono avere la propria animazione sostituendo il metodo di animazione, altrimenti il bambino avrà l'animazione principale.
2) Flessibilità: Non tenere metodo animazione all'interno onCreate() È possibile fornire attività figlio flessibilità non tenere il metodo di animazione all'interno onCreate (bundle bundle). Ora le attività possono avere la flessibilità di avere animazione principale o propria animazione o nessuna animazione.
Spero che aiuti.
Buon apprendimento.
`
fonte
2017-07-05 16:50:39
Grazie mille, questo è esattamente ciò di cui avevo bisogno. – user173488
Nessun problema P) Tenete presente che ho programmato rapidamente nell'editor di StackOverflow, potrebbero esserci errori di sintassi – Guillaume
grazie, ho preso l'idea e l'ho applicata ad altre funzioni, dati da passare e AsyncTask in BaseActivity, ha funzionato bene. – user173488