Accueil Finances personnelles Programmation avec Java: Quelques observations sur les Classes d'Android - mannequins

Programmation avec Java: Quelques observations sur les Classes d'Android - mannequins

Table des matières:

Vidéo: 001 — Introduction au cours 2025

Vidéo: 001 — Introduction au cours 2025
Anonim

Lorsque vous démarrez un nouveau projet Java, Android Studio vous propose de créer une activité pour votre projet. Android Studio vous propose différents types d'activités, telles qu'une activité de base, une activité vide, une activité de connexion, etc. Si vous demandez une activité vide, vous obtenez ce code:

package com. allyourcode. a10_11;

importer Android. soutien. v7. app. AppCompatActivity;

importer Android. os. Paquet;

public class MainActivity étend AppCompatActivity {

@Override

protected void surCreate (Bundle savedInstanceState) {

super. onCreate (savedInstanceState);

setContentView (disposition R., activité_main);

}

}

Le code déclare une classe nommée MainActivity . Ce nom MainActivity ne fait pas partie de la bibliothèque de l'API Android. C'est un nom que vous créez lorsque vous créez un nouveau projet Android. (En réalité, Android Studio constitue le nom.Vous acceptez le nom ou vous le changez en un autre nom lorsque vous suivez les étapes pour créer un nouveau projet.)

La classe MainActivity étend une classe qui appartient à la bibliothèque SDK d'Android, à savoir la classe AppCompatActivity . En d'autres termes, l'objet MainActivity est un objet AppCompatActivity . L'objet MainActivity possède tous les droits et responsabilités de toute instance AppCompatActivity . Par exemple, MainActivity a une méthode onCreate , qu'elle écrase.

En fait, la classe MainActivity hérite d'environ 460 lignes de code de la classe AppCompatActivity d'Android, qui hérite d'environ 1 000 lignes d'Android Classe FragmentActivity , qui hérite d'environ 6 700 lignes de la classe Activity d'Android. Les méthodes héritées incluent celles getCallingActivity , getCallingPackage , getParent , getTitle , getTitleColor , getWindow , onBackPressed , onKeyDown , onKeyLongPress , onLowMémoire , onMenuItemSelected , setTitle <, setTitleColor , startActivity , fin, et beaucoup, beaucoup d'autres. Vous héritez de toutes ces fonctionnalités avec deux mots simples: extends AppCompatActivity . Dans la terminologie des relations familiales, votre classe

MainActivity est un descendant de la classe Activité d'Android. Votre classe MainActivity est une sorte d'activité . Cette image, extraite directement de la documentation en ligne d'Android, résume ces informations sur la classe

AppCompatActivity . Un arbre généalogique AppCompatActivity.

Ajoutez cette page à vos favoris pour accéder facilement à la documentation de la bibliothèque d'API Android.

En plus d'être une sous-classe, la classe

AppCompatActivity implémente un tas d'interfaces, dont l'interface AppCompatCallback , l'interface TaskStackBuilder et d'autres. Vous n'avez pas besoin de vous en souvenir. Si vous avez besoin de le savoir, vous pouvez le rechercher sur la page de documentation d'Android. Super mot-clé de Java, revisité

Le mot

super représente le constructeur de la super-classe. Un code différent utilisait le mot-clé super de différentes manières. Oui, super a toujours quelque chose à voir avec la classe parente d'une classe. Mais, non, super ne se réfère pas toujours au constructeur de la classe parente. Dans une méthode

onCreate , l'appel super. onCreate (savedInstanceState) envoie savedInstanceState à la méthode onCreate de la classe parente . La classe parente est la classe AppCompatActivity . Java appelle donc la méthode AppCompatActivit y onCreate . La méthode

de la classe onCreat de la classe AppCompatActivity contient son propre appel à super . onCreate (savedInstanceState) . Le parent de la classe AppCompatActivity est la classe FragmentActivity . Java passe donc savedInstanceState à la méthode onCreate de la classe FragmentActivity . Etc.

Ce n'est qu'après avoir accédé à la classe Activity - l'arrière-grand-parent de votre classe M ainActivity - que le code utilise directement la variable savedInstanceState . À partir de cette information savedInstanceState , le code replace l'activité comme avant le système.

Casting, encore

Lorsque vous appelez findViewById , Java ne sait pas quel type d'affichage il trouvera. La méthode findViewById renvoie toujours une instance View , mais de nombreuses classes d'Android étendent la classe View . Par exemple, les classes Button , TextView , ImageView , CheckBox , Chronomètre et RatingBar étendent tous la classe Vue d'Android. Si vous tapez le code suivant:

// NE FAITES PAS CECI! !

TextView textView;

textView = findViewById (id de R. textView);

Java laisse échapper un rugissement retentissant: "Comment osez-vous supposer que l'objet renvoyé par un appel à findViewById fait référence à une instance de la classe TextView ! "(En réalité, Java affiche silencieusement et mécaniquement un message d'erreur Types incompatibles dans l'éditeur d'Android Studio.)

Réduire signifie essayer d'attribuer une valeur longue à une valeur > int valeur. Une valeur long a 64 bits, et une valeur int n'a que 32 bits. Donc, la tentative de rétrécissement échoue. Dans le code que vous trouvez ici, l'appel mauvais findViewById est une autre tentative de rétrécissement - assignation de la valeur View renvoyée par un appel de méthode à une variable TextView .La classe TextView est une sous-classe de la classe View , donc l'affectation échoue lamentablement. apaiser les dieux Java en ajoutant un opérateur de casting au code. Vous dites à Java de convertir tout appel sortant de l'appel de méthode

findViewById en un objet TextView . textView =

(TextView) findViewById (id de l'utilisateur textView1); Pendant que vous tapez le code, Java vous donne l'humour et dit: "Votre opérateur de casting me montre que vous êtes conscient de la différence entre un

TextView et un ancien View . Je ferai de mon mieux pour interpréter l'objet View que je trouve à l'exécution en tant qu'objet TextView . "(En fait, pendant que vous tapez le code, Java ne dit rien, le fait que Java n'affiche aucun message d'erreur lorsque vous utilisez cette astuce est un bon signe: la fonction de moulage de Java vous permet d'économiser du temps!) vous empêche de voir un message d'erreur pendant que vous développez votre code. De cette façon, le casting est une fonctionnalité assez utile de Java. Mais le casting ne peut pas vous sauver si votre code contient des erreurs d'exécution. Lorsque vous tapez

textView = (TextView) findViewById (R. id.textView1);

vous vérifiez que le nom

textView représente un widget TextView . Lorsque l'application s'exécute, Java saisit le R. id. Le widget textView de l'objet activity_main. xml fichier, et tout fonctionne très bien. Mais vous pouvez parfois oublier de vérifier votre R. java noms par rapport aux composants dans le fichier XML. Un appel à findViewById recrache de façon surprenante un composant Button lorsque votre casting dit à Java d'attendre un widget TextView . Lorsque cela se produit, Java s'étouffe sur l'opérateur de diffusion et votre application se bloque pendant son exécution. Retour à la planche à dessin!

Programmation avec Java: Quelques observations sur les Classes d'Android - mannequins

Le choix des éditeurs

Comment envoyer une vidéo et des photos avec Flip Video - Dummies

Comment envoyer une vidéo et des photos avec Flip Video - Dummies

Après avoir pris photos et vidéos d'événements dans votre vie avec votre caméra Flip Video, vous pouvez les envoyer par e-mail à vos amis et aux membres de votre famille. Le partage de films et d'images que vous capturez et créez en envoyant un message e-mail vous permet de toucher et de toucher quelqu'un avec vos créations, même si vous êtes à proximité ...

Comment enregistrer le son séparément pour votre film numérique - Les mannequins

Comment enregistrer le son séparément pour votre film numérique - Les mannequins

Ont parfois besoin d'un réalisateur enregistrer le son en utilisant un appareil séparé de l'appareil photo, enregistrer le son séparément, puis synchroniser le son sur la vidéo plus tard, lors de l'édition. Habituellement, la raison en est d'augmenter la qualité du son enregistré car de nombreuses caméras n'enregistrent pas le son aussi bien que ...

Comment enregistrer une vidéo avec un caméscope Flip - Les nuls

Comment enregistrer une vidéo avec un caméscope Flip - Les nuls

Enregistrant des vidéos avec votre caméra Flip est comme facile comme 1-2-3 (et 4). Avant d'enregistrer une vidéo, vérifiez les indicateurs d'état de votre Flip pour vous assurer que votre caméra est complètement chargée et qu'elle a suffisamment de temps d'enregistrement pour capturer la vidéo que vous voulez filmer. Pour vérifier le niveau de charge de la batterie de votre Flip (ou ...

Le choix des éditeurs

Mot Raccourcis des symboles 2016 - des mannequins

Mot Raccourcis des symboles 2016 - des mannequins

Dans Word 2016 vous pouvez insérer des symboles communs en utilisant ces raccourcis clavier. Utilisez ces raccourcis clavier au lieu de la commande Insérer → Symbole pour insérer des symboles typographiques communs. Symbole Raccourci Tableau de bord Alt + Ctrl + signe moins En tableau Ctrl + signe moins Copyright Alt + Ctrl + C Marque déposée Alt + Ctrl + R Marque Alt + Ctrl + T Ellipsis Alt + Ctrl + période

Mot Raccourcis des symboles 2016 - mannequins

Mot Raccourcis des symboles 2016 - mannequins

En fonction de la manière dont vous choisissez d'utiliser Word 2016, vous risquez de devoir faire face pour un symbole spécial. Avec ces raccourcis clavier, vous pouvez insérer des symboles communs dans Word 2016. Utilisez ces raccourcis clavier au lieu de la commande Insérer → Symbole pour insérer des symboles typographiques communs. Symbole Raccourci Tableau de bord Alt + Ctrl + signe moins En tiret ...

Mot Trucs et astuces pour les tables 2013 - mannequins

Mot Trucs et astuces pour les tables 2013 - mannequins

Dans Word 2013, le texte se déverse dans un tableau sur une cellule base de la cellule. Vous pouvez taper un mot, une phrase ou même un paragraphe. Tout ce texte reste dans la cellule, bien que la cellule change de taille pour accueillir de plus grandes quantités de texte. Vous pouvez mettre en forme la cellule d'une table comme n'importe quel paragraphe de Word, en ajoutant même des marges ...

Le choix des éditeurs

Sexe For Dummies Cheat Sheet - les nuls

Sexe For Dummies Cheat Sheet - les nuls

Que vous vous considériez comme un Don Juan, une Lady Chatterly, ou un novice sexuel , tout le monde peut tirer le meilleur parti du sexe avec un peu plus de connaissances. Vous devriez savoir que les préliminaires sont quelque chose que vous devriez prendre en considération avec chaque interaction que vous et votre partenaire avez, ainsi que la façon de garder les choses ...

Mots et significations liés à la ménopause - mannequins

Mots et significations liés à la ménopause - mannequins

Bien que ce soit loin d'être une liste complète des termes que vous pourriez entendre être utilisé lorsque la ménopause est discutée, les cinq termes essentiels suivants devraient vous aider à comprendre les bases. HRT (hormonothérapie substitutive): Un traitement pour compléter les hormones que vous perdez pendant la ménopause - généralement une combinaison d'œstrogènes, ...

Symptômes qui indiquent que la ménopause est proche - mannequins

Symptômes qui indiquent que la ménopause est proche - mannequins

La plupart des femmes commencent à éprouver des symptômes de ménopause déséquilibrés, alors qu'ils ont encore des règles. Si vous ressentez un ou plusieurs des symptômes suivants, consultez votre médecin - vous pouvez être en train d'aborder le changement. Peau sèche ou cheveux Pensée floue (difficulté à se concentrer) Flutters du cœur (battements de cœur rapides) ...