portaldacalheta.pt
  • Principal
  • Gestion De L'ingénierie
  • Gestion De Projet
  • Autre
  • Les Tendances
Science Des Données Et Bases De Données

Top 10 des erreurs les plus courantes commises par les développeurs Android: un didacticiel de programmation



Android. Qu'est-ce qu'il ne faut pas aimer sur cette plate-forme? C'est gratuit, c'est personnalisable, c'est croissance rapide et il est disponible non seulement sur votre téléphone ou votre tablette, mais également sur votre montre intelligente, votre téléviseur et votre voiture.

Avec le dernier Sucette mise à jour, la programmation Android continue de s'améliorer. La plate-forme a mûri un peu depuis la première AOSP release, et placez la barre des attentes des utilisateurs assez haut. Regarde comme le nouveau Matériel modèle de conception regarde!



Il y a milliers de différents appareils, avec différentes tailles d'écran, architectures de puces, configurations matérielles et versions logicielles. Malheureusement, la segmentation est le prix à payer pour l'ouverture, et il existe des milliers de façons dont votre application peut échouer sur différents appareils, même en tant que programmeur Android avancé .



Indépendamment de cette énorme segmentation, la majorité des bogues sont en fait introduits à cause d'erreurs logiques. Ces bugs sont facilement évités, tant que nous maîtrisons les bases!



Voici un didacticiel de programmation Android pour résoudre les 10 erreurs les plus courantes commises par les développeurs Android.

Apprenez la programmation Android à un niveau plus avancé avec ce didacticiel.



Erreur courante n ° 1: développer pour iOS

À mon grand plaisir, cette erreur Android est beaucoup moins courante de nos jours (en partie parce que les clients commencent à se rendre compte que l'époque où Apple définissait toutes les normes de conception est révolue depuis longtemps). Mais encore, de temps en temps, nous voyons une application qui est un clone iOS.

Ne vous méprenez pas, je ne suis pas un évangéliste de la programmation Android! Je respecte chaque plate-forme qui fait avancer le monde mobile. Mais nous sommes en 2014 et les utilisateurs utilisent Android depuis un certain temps maintenant, et ils se sont habitués à la plate-forme. Leur pousser les normes de conception iOS est une stratégie terrible!



Sauf s'il y a une très bonne raison pour briser le des lignes directrices , ne le faites pas. (Google fait cela tout le temps, mais jamais par copier-coller.)

Voici quelques-uns des exemples les plus courants de cette erreur Android:



  1. Vous ne devriez pas créer d’onglets statiques, et ils n’ont pas leur place en bas (je vous montre du doigt Instagram ).
  2. Les icônes de notification système ne doivent pas avoir de couleur.
  3. Les icônes d'application ne doivent pas être placées à l'intérieur d'un rectangle arrondi (à moins qu'il ne s'agisse de votre logo réel, par exemple Facebook).
  4. Les écrans de démarrage sont redondants au-delà de la configuration / introduction initiale. Ne les utilisez pas dans d'autres scénarios.
  5. Les listes ne doivent pas avoir de carets.

Ce ne sont là que quelques-uns des beaucoup d'autres petites choses qui peuvent ruiner l'expérience utilisateur.

Erreur commune n ° 2: développement pour votre appareil Android

À moins que vous ne construisiez une application kiosque / promotionnelle pour une seule tablette, il y a de fortes chances que votre application Android ne soit pas bonne sur tous les appareils. Voici quelques conseils de programmation Android à retenir:



  • Pixels indépendants de la densité (dp) sont différents des pixels normaux (px).
  • Ressources sont inclus plusieurs fois pour tenir compte des différentes densités et orientations.
  • Tiroirs à 9 patchs sont étirés pour s'adapter à l'écran.

Il y a littéralement des milliers de scénarios possibles, mais après un certain temps, vous développez le sens de les couvrir tous avec un poignée de cas .

Vous ne possédez pas des milliers d'appareils? Pas de problème. L'émulateur Android est très efficace pour répliquer des appareils physiques. Encore mieux, essayez Genymotion , il est ultra-rapide et est fourni avec de nombreux appareils prédéfinis populaires.



une application qui prend en charge un programme frontal est parfois appelée lequel des éléments suivants

Avez-vous également essayé de faire pivoter votre appareil? Tout l'enfer peut se déchaîner ...

Erreur courante n ° 3: ne pas utiliser d'intentions

Intentions sont l’un des composants clés d’Android. C'est un moyen de transmettre des données entre différentes parties de l'application ou, mieux encore, entre différentes applications du système.

Supposons que vous ayez une application de galerie qui peut partager un lien de téléchargement vers certaines images par SMS. Laquelle des deux options semble la plus logique?

Option 1:

  • Demandez l'autorisation SEND_SMS.

    SmsManager
  • Écrivez votre propre code d'envoi de SMS en utilisant Intent sendIntent = new Intent(Intent.ACTION_VIEW); sendIntent.setData(Uri.parse('sms:' + telephoneNumber)); sendIntent.putExtra('sms_body', x); startActivity(sendIntent); .
  • Expliquez à vos utilisateurs pourquoi votre application de galerie a besoin d'accéder à des services qui peuvent coûter de l'argent et pourquoi ils doivent accorder cette autorisation pour utiliser votre application.

Option 2:

  • Démarrez une intention SMS et laissez une application conçue pour les SMS faire le travail

    AndroidManifest.xml

En cas de doute, la meilleure solution est l'option 2!

Cette approche peut être appliquée à presque tout. Partager du contenu, prendre des photos, enregistrer des vidéos, choisir des contacts, ajouter des événements, ouvrir des liens avec des applications natives, etc.

À moins qu'il n'y ait une bonne raison de faire une implémentation personnalisée (par exemple, une caméra qui applique des filtres), utilisez toujours les intentions pour ces scénarios. Cela vous fera gagner beaucoup de temps de programmation et supprimera le memory_needed_in_bytes = 4 * image_width * image_height; d'autorisations inutiles.

Erreur courante n ° 4: ne pas utiliser de fragments

Il y a quelque temps, dans Honeycomb, Android a introduit le concept de fragments . Considérez-les comme des blocs de construction séparés avec leurs propres cycles de vie (plutôt complexes) qui existent à l'intérieur d'une activité. Ils aident beaucoup à l'optimisation pour différents écrans, ils sont facilement gérés par leur activité parent, peuvent être réutilisés, combinés et positionnés à volonté.

Lancer une activité distincte pour chaque écran d'application est terriblement inefficace, car le système essaiera de les garder en mémoire aussi longtemps que possible. Tuer un ne libère pas les ressources utilisées par les autres.

Ce didacticiel de programmation Android recommande l

À moins que vous ne souhaitiez approfondir le cœur d'Android et lire Cet article , en préconisant l'utilisation de fragments, vous devez utiliser des fragments chaque fois que possible. Il dit essentiellement que les fragments et chargeurs de curseur ont un bon objectif, mais une mauvaise mise en œuvre.

c corp ou s corp

Erreur courante n ° 5: bloquer le fil principal

Le thread principal a un seul objectif: garder l'interface utilisateur réactive.

Bien que la science derrière la mesure de la fréquence d'images que nos yeux / notre cerveau peuvent percevoir soit complexe et influencée par de nombreux facteurs, une règle générale est que tout ce qui est inférieur à 24 ips avec un retard supérieur à 100 ms ne sera pas perçu comme fluide.

Cela signifie que les actions de l'utilisateur auront un retour différé et que l'application Android que vous avez programmée cessera de répondre. Dépouiller l'utilisateur de son contrôle sur l'application entraîne de la frustration, les utilisateurs frustrés ont tendance à donner des commentaires très négatifs.

Pire encore, si le thread principal est bloqué pendant un certain temps (5 secondes pour les activités, 10 pour les récepteurs de diffusion), ANR qui va se passer.

En apprenant la programmation Android, vous apprendrez à connaître et à craindre ce message. Suivez ces conseils de programmation Android pour minimiser cette occurrence.

C'était si courant dans Android 2.x que sur les versions plus récentes, le système ne vous permet pas de créer appels réseau dans le fil principal.

Pour éviter de bloquer le thread principal, utilisez toujours les threads de travail / d'arrière-plan pour: 1. les appels réseau 2. le chargement de bitmap 3. le traitement d'image 4. l'interrogation de la base de données 5. la lecture / l'écriture SD

Erreur commune n ° 6: réinventer la roue

'OK, je n'utiliserai pas le fil de discussion principal. J'écrirai mon propre code qui communique avec mon serveur dans un thread d'arrière-plan. '

Non! Ne faites pas ça! Les appels réseau, le chargement d'images, l'accès à la base de données, l'analyse JSON et la connexion sociale sont les opérations les plus courantes que vous effectuez dans votre application. Pas seulement la vôtre, toutes les applications disponibles. Il y a un meilleur moyen. Rappelez-vous comment Android a mûri et s'est développé en tant que plate-forme? Voici une liste rapide d’exemples:

  1. Utilisation gradle comme système de construction.
  2. Utilisation Rénovation / Volée pour les appels réseau.
  3. Utilisation Picasso pour le chargement de l'image.
  4. Utilisation Gson / Jackson pour l'analyse JSON.
  5. Utilisation implémentations courantes pour la connexion sociale.

Si vous avez besoin de quelque chose d'implémenté, il est probable qu'il soit déjà écrit, testé et largement utilisé. Faites des recherches de base et lisez-en Tutoriels de programmation Android avant d'écrire votre propre code!

Erreur courante n ° 7: ne pas présumer de succès

Génial. Nous avons appris qu'il existe un meilleur moyen de gérer les tâches de longue durée, et nous utilisons des bibliothèques bien documentées à cette fin. Mais l'utilisateur devra encore attendre. C’est inévitable. Les colis ne sont pas envoyés, traités et reçus instantanément. Il y a un délai aller-retour, il y a des pannes de réseau, des paquets se perdent et les rêves sont détruits.

Mais tout cela est mesurable. Les appels réseau réussis sont beaucoup plus probable que celles qui n’ont pas réussi. Alors pourquoi attendre la réponse du serveur avant de traiter la demande réussie? Il est infiniment préférable d’assumer le succès et de gérer l’échec. Ainsi, lorsqu'un utilisateur aime une publication, le nombre de points similaires est immédiatement augmenté, et dans le cas peu probable où l'appel échoue, l'utilisateur est averti.

Dans ce monde moderne, une rétroaction immédiate est attendue. Les gens n'aiment pas attendre. Les enfants ne veulent pas rester assis dans une salle de classe pour acquérir des connaissances dont les bénéfices futurs sont incertains. Les applications doivent s'adapter à la psychologie de l'utilisateur.

Erreur courante n ° 8: ne pas comprendre les bitmaps

Les utilisateurs adorent le contenu! Surtout lorsque le contenu est bien formaté et a l'air bien. Les images, par exemple, sont un contenu extrêmement agréable, principalement en raison de leur propriété de véhiculer mille mots par image. Ils consomment également beaucoup de mémoire. Beaucoup de mémoire!

meilleurs outils pour la visualisation des données

Avant qu'une image ne s'affiche à l'écran, elle doit être chargée dans la mémoire. Les bitmaps étant le moyen le plus courant de le faire, nous allons fournir un guide de programmation Android pour l'ensemble du processus:

Supposons que vous souhaitiez afficher sur votre écran une image que vous venez de prendre avec votre appareil photo. La mémoire totale nécessaire pour cela est calculée avec la formule suivante: ARGB_8888

Pourquoi 4? Eh bien, la configuration bitmap la plus courante / recommandée est RGB_565. Cela signifie que pour chaque pixel que nous dessinons, nous devons garder 8 bits (1 octet) pour l'alpha, le rouge, la cupidité et le canal bleu en mémoire, afin de l'afficher correctement. Il existe des alternatives, comme le ARGB_8888 configuration qui nécessite la moitié de la mémoire que 4 bytes * 4000 * 3000 = 48 MB, mais perd la transparence et la précision des couleurs (en ajoutant peut-être une teinte verte).

Supposons que vous ayez un tout nouvel appareil avec écran Full HD et appareil photo 12 MP. La photo que vous venez de prendre mesure 4 000 x 3 000 pixels et la mémoire totale nécessaire pour l'afficher est: 4 * 1920 * 1080 = 8.3 MB

48 mégaoctets de votre RAM juste pour une seule image !? C'est beaucoup!

Prenons maintenant en considération la résolution de l’écran. Vous essayez d'afficher une image de 4 000 x 3 000 sur un écran de 1 920 x 1 080 pixels, dans le pire des cas (affichage de l'image en plein écran), vous ne devriez pas allouer plus de LinearLayout de mémoire.

Suivez toujours les conseils de programmation Android pour affichage efficace des bitmaps :

  1. Mesurez la vue dans laquelle vous affichez vos images.
  2. Mettez à l'échelle / recadrez la grande image en conséquence.
  3. Afficher uniquement ce qui peut être affiché.

Erreur courante n ° 9: utilisation de la hiérarchie Deep View

Les mises en page ont une présentation XML sous Android. Afin de dessiner du contenu, le XML doit être analysé, l'écran doit être mesuré et tous les éléments doivent être placés en conséquence. Il s’agit d’un processus gourmand en ressources et en temps qui doit être optimisé.

C'est ainsi que le ListView (et plus récemment le RecyclerView ) travaux.

Si une mise en page a été gonflée une fois, le système la réutilise. Mais encore, gonfler la mise en page doit se produire à un moment donné.

Supposons que vous souhaitiez créer une grille 3x3 avec des images. Une façon de faire est une verticale LinearLayout contenant 3 ImageViews s de poids égal, chacun d'eux contenant 3 RelativeLayout avec un poids égal.

tutoriel d'apprentissage automatique pour les débutants

Certains débutants en programmation Android ne font pas toujours le meilleur usage de LinearLayouts.

Qu'obtient-on avec cette approche? Un avertissement indiquant que «les poids imbriqués sont mauvais pour les performances».

Il y a un dicton dans le monde de la programmation Android, que je viens d'inventer: 'Avec peu d'effort, toute la hiérarchie peut être aplatie' .

Dans ce cas GridLayout ou LinearLayouts remplacera efficacement le minSdkVersion.

Erreur courante n ° 10: ne pas définir la minSdkVersion sur 14

Eh bien, ce n'est pas une erreur, mais c'est une mauvaise pratique.

Android 2.x a été une étape importante dans le développement de cette plate-forme, mais certaines choses doivent être laissées de côté. La prise en charge d'appareils plus anciens ajoute plus de complexité à la maintenance du code et limite le processus de développement.

Les nombres sont clairs, les utilisateurs ont évolué, les développeurs ne doivent pas rester en arrière.

Je sais que cela ne s’applique pas à certains grands marchés dotés d’anciens appareils (par exemple, l’Inde) et que le paramètre

 à 14, sur l'application Facebook, signifie laisser quelques millions d'utilisateurs sans leur réseau social préféré. Mais, si vous recommencez à neuf et essayez de créer une belle expérience pour vos utilisateurs, pensez à éliminer le passé. Les utilisateurs qui ne disposent pas des ressources ou qui ressentent le besoin de mettre à niveau leur appareil / système d'exploitation ne seront pas incités à essayer une version supérieure de votre application Android et à dépenser de l'argent dessus.

Emballer

Android est une plateforme puissante qui évolue rapidement. Il n'est peut-être pas raisonnable de s'attendre à ce que les utilisateurs suivent le rythme, mais il est crucial pour les développeurs Android de le faire.

Savoir qu'Android n'est pas que sur nos téléphones ou tablettes est encore plus important. Il est à nos poignets, dans nos salons, dans nos cuisines et dans nos automobiles. Il est de la plus haute importance de bien comprendre les bases avant de commencer à nous développer.

Android M (Android 6.0) pour les développeurs: un pas d'évolution dans la bonne direction

Mobile

Android M (Android 6.0) pour les développeurs: un pas d'évolution dans la bonne direction
Comment faire fonctionner le travail à distance pour vous

Comment faire fonctionner le travail à distance pour vous

Mode De Vie

Articles Populaires
Comment créer un bouton SSO - Un didacticiel de connexion Flask
Comment créer un bouton SSO - Un didacticiel de connexion Flask
Invalidation du cache Rails au niveau du champ: une solution DSL
Invalidation du cache Rails au niveau du champ: une solution DSL
Tirer le meilleur parti des actions - Leçons d'un ancien analyste de recherche
Tirer le meilleur parti des actions - Leçons d'un ancien analyste de recherche
Programmation visuelle avec Node-RED: câbler l'Internet des objets en toute simplicité
Programmation visuelle avec Node-RED: câbler l'Internet des objets en toute simplicité
SaaS - Tactiques de tarification qui peuvent catapulter votre entreprise
SaaS - Tactiques de tarification qui peuvent catapulter votre entreprise
 
Programmation visuelle avec Node-RED: câbler l'Internet des objets en toute simplicité
Programmation visuelle avec Node-RED: câbler l'Internet des objets en toute simplicité
Introduction à Kotlin: programmation Android pour les humains
Introduction à Kotlin: programmation Android pour les humains
Pourquoi les devises des marchés émergents sont-elles volatiles?
Pourquoi les devises des marchés émergents sont-elles volatiles?
Comment créer une application multi-locataire: un didacticiel de mise en veille prolongée
Comment créer une application multi-locataire: un didacticiel de mise en veille prolongée
Guide de migration d'Oracle vers SQL Server et SQL Server vers Oracle
Guide de migration d'Oracle vers SQL Server et SQL Server vers Oracle
Articles Populaires
  • comment ça marche l'investissement dans une startup
  • comment construire un algorithme d'apprentissage automatique
  • API de repos avec nœud js
  • licences open source à éviter
  • point de vente basé sur android
  • pourquoi la technologie portable est-elle importante
  • numéros de carte de crédit piratés gratuits avec cvv
Catégories
  • Gestion De L'ingénierie
  • Gestion De Projet
  • Autre
  • Les Tendances
  • © 2022 | Tous Les Droits Sont Réservés

    portaldacalheta.pt