Fonctionnalités cachées du développement Android?

121

Je suis surpris qu'il n'y ait pas encore de publication sur les fonctionnalités cachées Android dans la série Fonctionnalités cachées que je surveille depuis un moment maintenant.

La série Fonctionnalités cachées est idéale pour les personnes novices dans une certaine langue. Il montre les cordes et certaines astuces précieuses, le tout en un seul endroit. Je pense que c'est une idée géniale. Même les experts trouvent parfois des trucs dont ils n'avaient jamais entendu parler.

Je commence le développement Android et j'aimerais connaître ses fonctionnalités cachées, ses conseils, ses astuces et ses pièges.

Alors, voici: quelles sont les fonctionnalités cachées d' Android ?

Artem Russakovskii
la source

Réponses:

105

Espérons qu'il n'y ait pas trop de fonctionnalités cachées et cachées - mais voici quelques-unes des fonctionnalités les moins connues et non intuitives disponibles pour Android qui vous faciliteront certainement la vie et amélioreront vos applications.

  • Tout le code source de la plate-forme et toutes les applications natives non Google sont disponibles pour que vous puissiez parcourir, télécharger, emprunter ou voler le projet Open Source Android .
  • En utilisant le framework de ressources , la création de versions localisées de votre application est aussi simple que l'ajout d'un nouveau sous-dossier annoté (par exemple, values-fr) qui contient un fichier XML avec des chaînes dans une langue différente (par exemple, français). Android choisira le bon dossier au moment de l'exécution pour vous.
    • Le même cadre de ressources vous permet d'utiliser des dispositions alternatives pour différentes configurations matérielles, densités de pixels d'écran et périphériques d'entrée simplement en les déposant dans un dossier nommé.
  • Depuis Android 1.6, votre application peut produire des résultats qui apparaîtront dans les résultats d'une recherche dans le champ de recherche rapide de l'écran d'accueil. C'est ce qu'on appelle les suggestions de recherche personnalisées .
  • À l' aide des intentions et des filtres d'intention, vos applications peuvent effectuer et traiter des demandes anonymes pour qu'une action soit terminée (par exemple, l' application Where peut demander une réservation de table à partir de l'application Open Table ).
    • Ils peuvent demander à une application inconnue d'effectuer une action sans avoir besoin de savoir quelle (s) application (s) peut (s) répondre à cette demande
    • Votre application peut répondre aux demandes d'applications inconnues pour effectuer des actions sans avoir besoin de savoir quelles applications feront les demandes. Jouez à ce droit et vous pouvez créer l'application Twitter `` par défaut '', ou l'application de réservation, etc.
  • À l'aide des alarmes, vous pouvez configurer votre application pour qu'elle accomplisse des tâches à des heures prédéterminées, même si votre application n'est pas en cours d'exécution.
    • Vous pouvez économiser beaucoup d'autonomie de la batterie en utilisant la méthode setInexactRepeating pour planifier des événements réguliers (comme l'interrogation du serveur ou les mises à jour). Il synchronisera les alarmes de plusieurs applications pour qu'elles se produisent en même temps plutôt que ponctuellement.
  • À l'aide du cadre des préférences , vous pouvez créer des écrans de paramètres pour vos applications dans le même style que les paramètres système. Vous pouvez même incorporer des écrans de paramètres système (par exemple, Sécurité et Localisation) dans la hiérarchie des paramètres de votre application.
  • En utilisant les API AudioTrack et AudioRecord , vous pouvez diffuser des données audio directement depuis et vers les tampons audio PCM.
Reto Meier
la source
35

Les outils du répertoire / tools du SDK méritent une mention:

  • notre designer a été particulièrement impressionné par draw9patchce qui a aidé à concevoir des boutons extensibles. Il m'a donné des éléments à partir de là, et je suis passé d'une couleur d'arrière-plan à un dessin à 9 patchs et maintenant nous avons un bouton personnalisé, des coins arrondis, etc. étirés pour s'adapter au texte.
  • ddms, qui est également intégré au plugin Eclipse. C'est extrêmement puissant, mais je l'utilise pour prendre des captures d'écran.
  • adb- interagissez avec votre appareil ou émulateur à partir de la ligne de commande. Je l'utilise pour suivre les journaux de mon appareil dans une fenêtre de terminal sur mon bureau, même si je l'ai trouvé utile pour installer et désinstaller des applications qui se comportent mal.
  • sqlite3 - idéal pour interagir avec une base de données installée et essayer des requêtes.
  • apkbuilder, zipalign, aapt- grand pour sans tête en cours d' exécution builds
  • monkey pour tester votre application.

Je voudrais également citer les trois Designing for Performance , Responsiveness and Seamlessness , mais j'aimerais également ajouter un quatrième Coding for (Battery) Life .

Bien que le Javadoc puisse parfois être un peu clairsemé, cela ne sert à rien d'avoir la source là pour que vous puissiez la regarder.

Il est également très utile d'avoir de nombreux exemples d'applications écrites par des Googleurs pour créer, examiner et ensuite voir comment ils l'ont fait.

Jamesh
la source
1
Vous avez manqué une autre belle mise en page d'outil.
100rabh
Un autre bon manquant que j'utilise tout le temps est le visualiseur de hiérarchie.
Artem Russakovskii
25

Je suppose que je vais commencer alors.


Je pense que les meilleures pratiques de la documentation Android sont une fonctionnalité cachée intéressante. Il répertorie de nombreux conseils pour concevoir des applications réactives et rapides.

Les sections sur les bonnes pratiques sont:

  • Prise en charge de plusieurs écrans (plusieurs tailles et résolutions)
  • Directives de l'interface utilisateur
    • Conception d'icônes
    • Conception de widgets d'application
    • Conception d'activités et de tâches
    • Conception de menus
  • Concevoir pour la performance
  • Concevoir pour la réactivité
  • Concevoir pour la transparence

Une autre fonctionnalité cachée est que ces documents sont disponibles hors connexion dans le cadre du SDK. Au début, je chargeais chaque jour quelques pages pour mon trajet en train du matin, mais je n'avais plus besoin de le faire après les avoir trouvées dans le répertoire du SDK.


Si vous utilisez Eclipse, vous remarquerez qu'il ne formate pas très bien les fichiers XML et quand c'est le cas, c'est très incohérent (parfois il divise les attributs par de nouvelles lignes, parfois non). Pour résoudre ce problème, vous pouvez appuyer sur Ctrl-Maj-F (formatage automatique). Les règles utilisées par Ctrl-Maj-F sont dans Fenêtre-> Préférences-> XML-> Fichiers XML-> Editeur.

Artem Russakovskii
la source
1
Le dernier fera certainement partie de mon flux de travail. Cela m'ennuyait la semaine dernière ... Merci !!
Mikle
14

Android prend en charge les fichiers XML <shape>qui peuvent être utilisés comme dessinables de type SVG. Malheureusement, il n'y a pas de documentation pour eux. Voici la meilleure information que j'ai pu trouver:

http://escomic.net/217

Timmmm
la source
4
Il y a aussi idunnolol.com/android/drawables.html avec une documentation complète sur toutes les fonctionnalités xml pour les formes. Les formes peuvent être très importantes pour créer des arrière-plans arrondis qui changent de couleur lorsque vous cliquez dessus ou pour créer des dégradés définis au format XML au lieu de dessiner des arrière-plans personnalisés.
Janusz
est-il possible d'ajouter un certain nombre de formes à un document xml. par exemple, quelques cercles et rectangles?
skyfoot
13

En ce qui concerne également les meilleures pratiques, vous voudrez peut-être consulter le style de codage Android:

http://source.android.com/source/code-style.html

ainsi que le code eclipse et importe les formateurs (android-formatting.xml, android.importorder) qui se trouvent dans le code source de la plateforme sous development / ide / eclipse

dljava
la source
2
Il y a un peu trop d'obstacles à franchir pour obtenir le code uniquement pour le formateur Eclipse, alors trouvez-le ici: google.com/codesearch/p?hl=en#CRBM04-7BoA/ide/eclipse/…
idbrii
7

hierarchyviewer dans / tools vous permet de déboguer / analyser la disposition de votre vue: remplissage, positionnement, hiérarchie de vue, etc.

Cela m'a fait gagner beaucoup de temps à plusieurs reprises lorsque j'ai essayé de comprendre pourquoi les choses sont disposées telles qu'elles sont.

Ivo van der Wijk
la source