web-dev-qa-db-fra.com

Fonctionnalités cachées de Android development?

Je suis surpris qu'il n'y ait pas de Android Fonctionnalités cachées encore dans le série de fonctions cachées = que je traque depuis un moment maintenant.

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

Je commence Android développement et j'aimerais entendre parler de ses fonctionnalités cachées, trucs, astuces et pièges.

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

121
Artem Russakovskii

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

  • Tout le code source de la plate-forme et toutes les applications natives non Google est disponible pour que vous puissiez parcourir, télécharger, emprunter ou voler à partir du projet Open Source Android .
  • En utilisant 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, le 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 le dossier nommé.
  • Depuis Android 1.6, votre application peut produire des résultats qui apparaîtront dans les résultats d'une recherche dans la zone de recherche rapide de l'écran d'accueil. Cela s'appelle suggestions de recherche personnalisées .
  • En utilisant Intentions et 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 pour terminer une action sans avoir besoin de savoir quelle (s) application (s) peut 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 effectueront les demandes. Jouez bien et vous pouvez créer l'application Twitter 'par défaut' ou l'application de réservation, etc.
  • En utilisant Alarmes , vous pouvez configurer votre application pour effectuer des tâches à des moments prédéterminés, même si votre application n'est pas en cours d'exécution.
    • Vous pouvez économiser beaucoup de vie 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 qu'adhoc.
  • En utilisant le framework 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 intégrer des écrans de paramètres système (par exemple, Sécurité et emplacement) 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.
105
Reto Meier

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

  • notre designer a été particulièrement impressionné par draw9patch qui a aidé à concevoir des boutons extensibles. Il m'a donné des ressources à 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. Il est extrêmement puissant, mais je l'utilise pour prendre des captures d'écran.
  • adb - interagissez avec votre appareil ou émulateur depuis la ligne de commande. Je l'utilise pour suivre les journaux de mon appareil dans une fenêtre de terminal sur mon bureau, bien que 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 - idéal pour exécuter des builds sans tête
  • monkey pour tester fuzz votre application.

Je voudrais également distinguer les trois Designing pour Performance , réactivité et Seamlessness , mais j'aimerais également en ajouter un quatrième Codage pour la durée de vie de la batterie .

Bien que le Javadoc puisse être un peu clairsemé parfois, il est utile sans fin d'avoir la source juste là pour que vous puissiez la regarder.

Il est également très utile d'avoir beaucoup de exemples d'applications écrites par Googlers pour construire, examiner et ensuite voir comment ils l'ont fait.

35
jamesh

Je suppose que je vais commencer alors.


Une fonctionnalité cachée agréable, je pense, est les meilleures pratiques de la documentation Android. Il répertorie de nombreuses astuces pour concevoir des applications réactives et rapides.

Meilleures pratiques les sections sont:

  • Prise en charge de plusieurs écrans (plusieurs tailles et résolutions)
  • Consignes relatives à l'interface utilisateur
    • Conception d'icônes
    • Conception de widget d'application
    • Conception d'activités et de tâches
    • Conception du menu
  • Concevoir pour la performance
  • Concevoir pour la réactivité
  • Concevoir pour la fluidité

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


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

25
Artem Russakovskii

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

http://escomic.net/217

14
Timmmm

En ce qui concerne également les meilleures pratiques, vous pouvez consulter Android style de codage:

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

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

13
dljava

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'essayais de comprendre pourquoi les choses sont présentées comme elles sont.

7
Ivo van der Wijk