CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : Reprendre toutes mes bases a zero androi

DébutPage précedente
1
Page suivantePage suivante
Gleuh Gleuh
MP
Niveau 10
20 juillet 2014 à 15:33:05

Salut :hap:

Je suis un développeur C#/Java et si y'a un truc que j'adore faire c'est les applications androids.
Mais ca me saoule un peu :(
Voilà j'ai déjà faites deux applications, (Ex : https://play.google.com/store/apps/details?id=com.coruscant11.noelshackimageupload / https://www.jeuxvideo.com/forums/1-1000005-1408090-1-0-1-0-stable-pictures-upload-noelshack.htm )
J'y arrive .. mais bon :(

J'ai jamais vraiment suivis de tutoriel, je sais bien programmer en java, là n'est pas le problème, mais en faites sur android j'ai jamais vraiment bien appris, du coup a chaque fois que je veux faire un truc je regarde sur google et je C/C, pour les graphiques j'utilise l'editeur graphique (pas le xml ..) fin j'ai juste les connaissances basiques quoi. Je suis pas très autonome concernant android.

Donc voilà, vous aurez pas un tutoriel, par forcément réservé au debutant (Pour ceux qui ont aquis le java quoi), pour bien reprendre mes bases a zero ? :)

Merci :)

Google_Bot Google_Bot
MP
Niveau 12
20 juillet 2014 à 15:45:13

Je ne développe plus sous Android depuis un certain temps (en fait j'en ai essentiellement fait pour un projet durant mon année scolaire), mais les étapes à suivre ici sont cohérentes: https://developer.android.com/training/index.html
Ça + le guide et quelques morceaux de la référence, c'est ce qui m'a appris à faire ce que tu demandes (a.k.a concevoir des interfaces en XML plutôt que via l'outil graphique, faire une appli qui tient la route au niveau cycle de vie Android...).

Gleuh Gleuh
MP
Niveau 10
20 juillet 2014 à 16:17:12

Merci Google, tu gère comme toujours. :)

Google_Bot Google_Bot
MP
Niveau 12
20 juillet 2014 à 16:49:47

J'ai pas fait grand-chose, mais c'est gentil :hap:

Franchement j'ai rarement trouvé une doc aussi bien foutue que celle d'Android justement :oui:

Bunyan Bunyan
MP
Niveau 14
20 juillet 2014 à 18:25:04

Le site officiel d'Android suffit et rempli très très bien son rôle de référence.
A côté de ça sinon, niveau bouquins, je recommandais "L'Art du développement Android", mais sa dernière édition commence à dater...

Si tu as des questions, n'hésites pas :)

Gleuh Gleuh
MP
Niveau 10
20 juillet 2014 à 18:54:03

J'ai vu, plus parfait y'a pas :bave:

boyd-fowler boyd-fowler
MP
Niveau 10
20 juillet 2014 à 20:26:02

Et puisque tu fais du C# et du Java peux tu nous dire les principales différences entre les deux :question:

Google_Bot Google_Bot
MP
Niveau 12
20 juillet 2014 à 20:43:09

La notion d'accesseurs n'est pas présente en Java :non:
Ni la surcharge d'opérateurs :non:
Pour les lambda-expressions je ne sais pas mais il me semble que ça n'est pas présent en Java non-plus :non:
La notion de méthode virtuelle n'est pas non-plus présente en Java :non: (pas de mot-clé pour décider de l'aspect virtuel ou non d'une méthode)
Le mot-clé "var" pour gérer automatiquement le type lors de l'affectation non-plus :non:

Etc. :hap:

Gleuh Gleuh
MP
Niveau 10
23 juillet 2014 à 05:30:45

Sinon pour moi la principale différence, c'est le framework .net :oui:
Déjà que la librairie standard java est incroyablement complète, mais alors .net c'est hallucinant, tu trouve absolument tous dessus :hap:

Sinon les vrais différences sont ce que Google a dis :oui:

Aussi un truc que j'ai bien aimer c'est Xamarin.Android, en gros tu fais tes apps android et utilisant la librairie standard java et .net en même temps c'est enorme :hap:
Par contre l'IDE est a chier

Gleuh Gleuh
MP
Niveau 10
23 juillet 2014 à 05:34:28

En faites les vrais différences dont ceux que Google a dit :oui:
Il sait toujours tout lui aussi, tu coder avec le même language toute ta vie lui il code avec le même 1 jour et ils est 10x plus expérimenté que toi :hap:

Google_Bot Google_Bot
MP
Niveau 12
23 juillet 2014 à 05:41:00

Bof, le C# j'ai dû en avoir 20 heures de cours cette année + un partiel de quatre heures, on peut pas vraiment dire que je "maîtrise" le langage (je n'ai réalisé aucun gros projet avec, et je ne sais pas à quoi ressemble du C# pondu en entreprise).
J'avoue que j'ai bien aimé ce langage, il pallie à mon goût certains manques de Java et les petits extras directement importés de chez C++ ne sont clairement pas de refus. Pour l'instant j'ai choisi de me concentrer sur le C++ car j'y vois un langage plein de potentiel pour une infinité de projets (avec à la clé une portabilité assez exemplaire), mais il n'est pas exclu que je fasse quelques bricolages en C# plus tard dans mon temps libre.

Même chose avec Android, j'ai eu un mini-projet à réaliser cette année comme je disais dans mon premier post, et quelques cours d'initiation avant pour expliquer les grandes lignes (pour le reste on se démerde, c'est là que je suis allé lire la documentation de Google). C'est sûr que ça m'a donné une vision d'ensemble correcte, de quoi ne pas dire trop de conneries quand je m'avance sur le sujet mais encore une fois je n'ai pas idée de l'allure d'un "gros projet Android".
Mais ce que j'ai vraiment retenu, c'est que Google déroule clairement le tapis rouge aux développeurs pour sa plateforme, avec une politique très attractive, c'est assez agréable.

Bunyan Bunyan
MP
Niveau 14
23 juillet 2014 à 08:27:55

Pour la "notion d'accesseur", j'imagine que c'est mettre une annotation sur une variable d'instance pour dire "dispo en lecture, dispo en écriture", "dispo en lecture", "dispo en écriture".
Tu as cette possibilité avec des bibliothèques tierces. AndroidAnnotations et Lombok. La première permet de se passer de findViewById, setOnClickListener, setOnItemClickListener... La seconde permet de se passer des getter/setter.
Ces deux bibliothèques fonctionnent à base d'annotation et inspectent le code AVANT qu'il ne soit compilé pour en générer une nouvelle version contenant les méthodes et liaisons qui vont bien.

Concernant les lambda, ça vient avec Java 8, qui vient de sortir et qui n'est pas supporté par Android (ni Dalvik, ni ART). Peut-être que Google prévoira son support, mais je trouve plus plausible qu'il change de langage (idée qui me trotte depuis que j'ai vu certains partenariats y'a 1-2 ans).

Pour les méthodes virtuelles, elles le sont toutes par défaut en Java. Le seul moyen de ne pas les rendre virtuelles, est de les déclarer "final".

Pour "var", je n'en vois pas l'utilité, mais ça doit venir de mon aversion pour les typages faibles. En lisant la documentation, on connait le type de retour, ou en foutant un type débile, mon IDE me propose de corriger en mettant le bon.

Google_Bot : "Mais ce que j'ai vraiment retenu, c'est que Google déroule clairement le tapis rouge aux développeurs pour sa plateforme, avec une politique très attractive, c'est assez agréable. "
Tu n'as pas encore vu l'envers du décor ^^
Pour réaliser des tests unitaires ou fonctionnel facilement, Android n'est pas encore mature de ce côté-là.
De même, avoir migré sous Gradle, c'est cool... mais la documentation ne suit pas vraiment, malheureusement. Celle de Gradle est très complète, mais celle du plugin Android de Gradle... il faut un peu batailler avec pour vraiment la comprendre.
De même, la très grande variété de terminaux pose problème, non pas pour les tailles/densité, mais pour les surcouches constructeurs/opérateurs qui modifient les comportements standard dans certains cas...
Ajouter à ça en, prime qu'il en existe de rares qui sont en paysage par défaut, et non portrait... cela pose des problèmes pour toutes application business ayant vocation a être portrait (et je m'escrime à faire comprendre qu'il vaut mieux prévoir les 2 orientations... ainsi que de ne pas mettre en place de splashscreen...).

Google_Bot Google_Bot
MP
Niveau 12
23 juillet 2014 à 15:20:32

Intéressant concernant Gradle, j'avais pas du tout suivi cette histoire (et je n'ai jamais été confronté à sa doc).

« Pour "var", je n'en vois pas l'utilité, mais ça doit venir de mon aversion pour les typages faibles. En lisant la documentation, on connait le type de retour, ou en foutant un type débile, mon IDE me propose de corriger en mettant le bon. »
C'est pas du typage faible, une fois que mon "var foo" a été affecté, il a un type et il le garde définitivement :oui: (on est pas en Javascript non-plus...)
Pour moi le principal exemple vient en C++ avec les itérateurs utilisés ça et là pour parcourir un même conteneur (genre un std::vector<T> ou une std::map<T>). Si en cours de route tu décides de changer ton vector<T> en map<K,T>, tu peux laisser tout ce qui a utilisé "auto" (l'équivalent de "var" mais chez C++) tel quel. Pratique pour ne pas avoir à se taper un gros sed sur tous les itérateurs éparpillés dans le code.
Et même d'un point de vue esthétique (mais là c'est surtout C++ qui est concerné), je préfère instancier un itérateur avec
auto monIterateur = maMap.begin();
plutôt que
map<pair<int,int>, list<char>>::iterator monIterateur = maMap.begin()
ça, couplé avec une syntaxe foreach (dispo en C++ aussi avec for(iterator : container)), ça permet de ne plus perdre un temps inutile à flanquer "le bon type" dans une boucle, sachant que ça n'influe pas sur le bon déroulement de ce qui est à l'intérieur.

« Ajouter à ça en, prime qu'il en existe de rares qui sont en paysage par défaut, et non portrait... cela pose des problèmes pour toutes application business ayant vocation a être portrait (et je m'escrime à faire comprendre qu'il vaut mieux prévoir les 2 orientations... ainsi que de ne pas mettre en place de splashscreen...). »
Copain! :hap:
Je me suis cassé le cul à rendre mon application "orientation-proof" (car comme en plus j'utilisais des fragments, il fallait faire tout un souk pour sauver les meubles lors de la rotation, puis tout réinstancier comme il faut...), et même "auto-kill proof" (enfin pas kill... mais quand Android manque de mémoire et finit par mettre le process au cagibi là, et que tout ce qui dépasse est détruit).
Ça m'a pris du temps mais bon c'était formateur, plutôt que d'interdire bêtement le mode paysage (vu dans la promo...).

Bunyan Bunyan
MP
Niveau 14
23 juillet 2014 à 16:54:34

Pas faux pour le var.
Le mieux que je puisse faire est de changer le type d'une variable est de propager via les erreurs détectées avec les suggestions auto.

Google_Bot Google_Bot
MP
Niveau 12
23 juillet 2014 à 19:01:27

C'est ce que je faisais avant de découvrir auto, et c'était chiant :noel:

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment