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

: Utilisation de l'équation du cercle standard - dummies

: Utilisation de l'équation du cercle standard - dummies

Si vous avez une question SAT Examen de mathématiques qui vous donne l'équation d'un cercle, vous aurez probablement besoin de convertir cette équation à l'équation du cercle standard. Les questions pratiques suivantes vous donnent l'équation d'un cercle et vous demandent de trouver son rayon et son centre. Questions d'entraînement Questions 1 et ...

SAT Pratique Mathématiques Questions: Séquences arithmétiques et géométriques - mannequins

SAT Pratique Mathématiques Questions: Séquences arithmétiques et géométriques - mannequins

Mathématiques implique parfois de reconnaître des schémas et de voir où ces modèles mènent. Le SAT vous demande parfois de jouer au mathématicien avec deux types de motifs: arithmétique et géométrique. Le mot mathématique pour le motif, en passant, est la séquence. Découvrez cette séquence arithmétique: 2, 5, 8, 11, 14 ... Notez que chaque nombre est ...

SAT Exercice de maths-FOIL Operations - mannequins

SAT Exercice de maths-FOIL Operations - mannequins

L'examen de mathématiques SAT vous posera quelques questions Vous devez savoir comment exécuter une opération FOIL, où vous multipliez un polynôme dans l'ordre: Premier, Extérieur, Intérieur et Dernier. Les questions de pratique suivantes vous demandent de trouver le produit de deux binômes et la valeur d'une variable en utilisant ...

Le choix des éditeurs

Prier le Rosaire et méditer sur les Mystères - mannequins

Prier le Rosaire et méditer sur les Mystères - mannequins

Selon la pieuse tradition catholique, au 13ème siècle Marie, la Mère de Dieu, est apparue à saint Dominique de Guzman, lui a donné un chapelet et a demandé qu'au lieu de prier les Psaumes sur des perles ou des noeuds, les fidèles prient l'Ave Maria, Notre Père et la Gloire soit. Quinze décennies ont constitué l'origine dominicaine ...

Dix choses à savoir sur le pape Benoît XVI - Paroisse

Dix choses à savoir sur le pape Benoît XVI - Paroisse

Le pape Benoît XVI a été élu en 2007 par le Collège des Cardinaux, et il a démissionné en 2012. Les controverses faisaient partie de son mandat. Il était le 265e pape de l'histoire de l'Église catholique romaine et le premier à démissionner en près de 600 ans.

La Réforme et l'Église Catholique - mannequins

La Réforme et l'Église Catholique - mannequins

Au Moyen Âge, la philosophie grecque (incarnée par Platon et Aristote ) a été utilisé pour aider à développer un chrétien, qui est devenu partenaire de la théologie sacrée. La langue latine était connue et utilisée - principalement dans des contextes religieux et juridiques. Les arts libéraux et les sciences religieuses ont été les principaux piliers de l'éducation universitaire et de la chrétienté ...

Le choix des éditeurs

Comment fonctionne BPaaS dans le monde réel du Cloud Computing - les nuls

Comment fonctionne BPaaS dans le monde réel du Cloud Computing - les nuls

Si vous avez décidé de utiliser BPaaS (Business Process as a Service) dans un modèle de cloud hybride en tant que plate-forme de prestation de services, vous devez comprendre comment combiner des services en fonction des processus que vous souhaitez exécuter. Comme le montre la figure suivante, un service de processus métier peut être lié à divers ...

Développer un environnement Cloud hybride sécurisé - des mannequins

Développer un environnement Cloud hybride sécurisé - des mannequins

Une approche réfléchie de la sécurité peut réussir à atténuer de nombreux risques de sécurité dans un environnement de cloud hybride. Pour développer un environnement hybride sécurisé, vous devez évaluer l'état actuel de votre stratégie de sécurité ainsi que la stratégie de sécurité proposée par votre fournisseur de cloud. Évaluer votre état actuel de sécurité Dans un environnement hybride, la sécurité ...

Gestion des charges de travail dans un modèle de cloud hybride - mannequins

Gestion des charges de travail dans un modèle de cloud hybride - mannequins

Modèle de nuage. La gestion, dans ce contexte, fait référence à la manière dont les ressources sont affectées pour traiter les charges de travail. Les affectations peuvent être basées sur la disponibilité des ressources, les priorités métier ou la planification d'événements. Dans l'ère de l'informatique mainframe unifiée, la gestion de la charge de travail était assez simple. Quand une tâche ...