Chaque Activité que vous faites est démarrée par le biais d'une séquence d'appels de méthode. onCreate()
est le premier de ces appels.
Chacun et chacune de vos Activités s'étend android.app.Activity
, soit directement ou par sous-classement d'une autre sous-classe de la Activity
.
En Java, lorsque vous héritez d'une classe, vous pouvez remplacer ses méthodes pour exécuter votre propre code. Un très bon exemple de ce est au centre de l' toString()
méthode lors de l'extension d' java.lang.Object
.
Lorsque nous surcharger une méthode, nous avons la possibilité de remplacer la totalité de la méthode dans notre classe, ou de l'extension de l'existant parent méthode de la classe. En appelant super.onCreate(savedInstanceState);
, vous dites à la Dalvik VM pour exécuter votre code en plus pour le code existant dans le onCreate() de la classe parente. Si vous laissez cette ligne, puis seulement votre code est exécuté. Le code existant est complètement ignoré.
Cependant, vous devez inclure ce super appel dans votre méthode, car si vous n'avez pas le cas, alors l' onCreate()
code Activity
n'est jamais exécuté, et que votre application s'exécuter dans toutes sortes de problème comme avoir aucun Contexte affecté à l'Activité (si vous frapperont SuperNotCalledException
avant d'avoir une chance de comprendre que vous n'avez pas de contexte).
En bref, Android propres classes peut être incroyablement complexe. Le code dans le cadre des classes de poignées de trucs comme dessin d'INTERFACE utilisateur, de nettoyage de la maison et le maintien de l'Activité et de l'application des cycles de vie. super
des appels de permettre aux développeurs d'exécuter ce code complexe derrière les coulisses, tout en offrant un bon niveau d'abstraction pour nos propres applications.