Bienvenue dans le cours Développez une Application pour Android ! Ce cours, entièrement en vidéo, a pour but de vous introduire à la plateforme mobile Android, à ses spécificités et ses outils.
Il est en quatre parties :
La première vous permettra de vous familiariser avec les outils de développement Android
La seconde fera de vous des artistes des interfaces
La troisième vous permettra d'utiliser la puissance du grand Internet
La quatrième vous ouvrira de nouveaux horizons
Ce cours ayant pour but d'aborder les spécificités du développement pour Android, il suppose que vous savez déjà programmer en Java. Si ce n'est pas encore le cas, pas de panique ! OpenClassrooms vous propose un cours complet sur ce génial langage de programmation.
Vous pouvez ici poser toute question qui vous tarauderait sur le cours. J'essaierai d'y répondre si je le peux.
Bonjour, tout d'abord merci pour ce cours de qualité
Lors du premier TP il y a un problème pour générer le chiffre aléatoirement,
public void onClick(View v) {
SecureRandom random = new SecureRandom();
int result = random.nextInt(6) + 1;
textResult.setText(String.valueOf(result));
}
Erreur lorsqu'on déclenche l'événement :
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
L'erreur que vous obtenez signifie que textResult est null, ce qui signifie que la propriete n'a pas ete defini correctement dans l'activite, en d'autres termes que :
Est-ce la même chose ? Je suis d'ailleurs bloqué à la fin de la première partie de ce cours, car android studio ne reconnait pas la "classe R" du chapitre 4.
- Edité par Friedrich von Schlickling 24 mars 2016 à 11:40:34
Voici les attributs du nouveau cours qui le differencient du precedent :
Il est entierement en video
Il est certifiant (a l'issu de 3 activites)
Il est a jour (le precedent utilise des concepts et outils qui sont deprecies depuis au moins 2 ans)
Il est explore moins de concepts, et est par consequent moins complexe. Il se concentre sur les concepts les plus importants specifique a Android.
Concernant la classe R, si Android Studio ne la reconnais plus, c'est qu'il n'arrive plus a compiler vos ressources. Assurez vous que les noms de tous les fichiers dans les sous-dossiers de res/ respectent bien la norme de nommage : minuscules, underscore et chiffres. Pas de majuscules, pas de nom qui commencent par un chiffre. Une autre raison pourrait etre une erreur dans un XML. Pour cela le mieux est d'utiliser les retours de la compilation. Faites un "rebuild" (menu "build" > "rebuild") puis verifiez qu'aucune erreur ne s'affiche dans l'onglet "Messages" d'Android Studio.
Je viens de débuter le mooc et j'ai une petite question par rapport à android studio. Je l'ai installé (Ubuntu 14.04) : il s'agit de la version 1.5.1. Il n'y a pas trop de différences avec la version utilisée dans les vidéos sauf qu'à la création d'un projet, dans le dossier layout, j'ai deux fichiers xml par défaut (activity_main.xml et content_main.xml). Conséquence : la chaine "hello word" est accessible directement dans le fichier content_main.xml (
android:text="Hello World!"
) et ne se trouve pas dans values/strings.xml. J'avais cru comprendre que c'était important que toutes les chaines de caractères soient dans le fichier strings.xml. Avant d'aller plus loin, y a-t-il un paramétrage à effectuer dans ma version d'android studio ou est-ce normal ?
Entre l'ecriture des premieres videos de ce cours et sa publication, Android Studio a, en effet, bien evolue.
Le cours vous demande de creer une application en selectionnant "Blank Activity" dans l'assistant de creation, mais cela a ete renomme entre temps en "Empty Activity". Merci de l'avoir signaler : je vais mettre le cours a jour ;).
Je suppose que vous avez cree une application avec une "Basic Activity". L'activite qui est alors cree par Android Studio est alors loin d'etre basique puisqu'elle inclus des vues et des systemes de layouts un peu complexe. Je vous conseille de supprimmer le projet et de le re-creer, cette fois ci avec une "EMPTY Activity".
Merci pour votre réponse très rapide. Effectivement, c'est bien "empty activity" qu'il convient de choisir. En revanche (pour info) les strings sont toujours codées en dur dans le layout et pas dans le fichier strings.xml.
Ce log n'affiche pas vraiment d'erreurs (j'en reconnait pas une en tout cas), j'ai revérifié tous les fichiers en cherchant une faute quelque part ou une erreur de nommage mais c'est finalement pratiquement un copier coller de la vidéo et l'erreur persiste.
Merci d'avance
Problème résolu, petit poblème avec mon smartphone mais c'est reglé.
- Edité par SantiagoKummert 29 mars 2016 à 13:14:53
Je viens de faire un tour rapide du cours et je le trouve super. Mais il y a un petit truc qui me tourmente (car ayant juste survolé certaines parties). A la partie 3 - chapitre 3 "Affichez du contenu de l'internet", il est parlé d'un TP concernant un moteur de requêtes et je ne le vois malheureusement pas. Je me demande donc si ce n'est pas :
un oubli lors de la rédaction du tutoriel (bizarre car il a tout le temps été présent dans le sommaire avant le début du cours)
ou alors il est destiné aux membres premium, du coup invisible pour les autres (donc j'en fais partie )
Afin de pouvoir sortir le cours a la date annoncee, il a ete decide de sortir l'entierete du cours, sans ce TP qui est le seul chapitre qui n'avait pas encore ete termine.
Ce TP est en cours d'ecriture et devrais etre ajoute au cours cette semaine.
Afin de pouvoir sortir le cours a la date annoncee, il a ete decide de sortir l'entierete du cours, sans ce TP qui est le seul chapitre qui n'avait pas encore ete termine.
Ce TP est en cours d'ecriture et devrais etre ajoute au cours cette semaine.
J'ai un souci pour l'activité de la Partie 2, je voudrais mettre un intent dans la classe MyAdapter pour charger une activité quand l'utilisateur choisi un sujet RSS . Mais cela ne fonctionne pas, l'application plante quand j'appuie un sujet RSS dans la liste.
public class MyViewHolder extends RecyclerView.ViewHolder {
......
private Activity activity;
Context context;
public MyViewHolder(final View itemView) {
super(itemView);
name = ((TextView) itemView.findViewById(R.id.name));
description = ((TextView) itemView.findViewById(R.id.description));
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(context, MyWebView.class);
startActivity(intent );
}
});
}
....
...
je voulais juste attirer ton attention sur le résumé de la partie 3 chapitre 1 où il semble y avoir une coquille. Tu écris:
• Lorsque l’activité n’est plus affichée, onResume et onStop sont appelées. Lorsque l’activité est de nouveau affichée, onRestart, onStart et onResume sont appelées.
Ce ne serait pas plutôt onPause et onStop qui sont appelées lorsque l'activité n'est plus affichée ? Si j'ai bien compris !
Bien à toi.
La chute n'est pas un échec, l'échec c'est de rester là où on est tombé!
merci pour le cours, je suis en train de le parcourir et je le trouve vraiment top.
C'est le premier tuto mobile que je suis et je trouve que la pédagogie est très bien, avec les vidéos et le résumé. Le problème c'est que je suis limité pour les visionnages mais bon le texte suffit en général.
J'en suis à la partie 2 point 3 avec l'action bar. Je n'ai pas trouvé, faute de vidéo, comment créer une activité avec une actionBar et comment lier celle-ci avec un thème.
La première erreur je l'ai eu aussi à l'installation.
Je pense que c'est par rapport à ta carte graphique. Tu dois voir dans les options si tu peux activer la virtualisation quelque chose par rapport à ça.
Moi je n'ai pas cherché vu que je teste directement avec mon téléphone. En gros tu ne pourras pas utiliser l'émulateur d'Android Studio
Pour la deuxième erreur, as-tu téléchargé le dernier JDK Java sur le site d'Oracle?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mon site - Mon livre sur le XML - Mon blog
Mon site - Mon livre sur le XML - Mon blog
Mon site - Mon livre sur le XML - Mon blog