Gdgkisiiap
Référentiel domestique de l'application mobile Android GDG KISII.
Nous avons créé une application Android pour gérer notre communauté de développeurs. Les mises à jour sur les événements, les ressources et les conférenciers des développeurs sont accessibles via l'application mobile.
Les fonctionnalités cool incluent
- Navigation inférieure
- Navigation à l'onglet
- Un certain nombre d'API, y compris API MAPS
Mon programme d'études Android Basics
- Pratiques de programmation générales
- Introduction aux bases Android
- Mastering Disposouts dans Android
- Système de construction - Travailler avec Gradle
- Réseautage dans Android
- Architecter vos applications Android
- Tester vos applications Android
- Libérer vos applications Android
- Sécuriser vos applications Android
- Android avancé
Pratiques de programmation générales
Les pratiques de programmation générales suivantes sont essentielles pour commencer votre carrière réussie dans le développement. Ces pratiques comprennent:
- Contrôle des sources (GIT) - Le contrôle des sources est un outil pour gérer les versions de votre code, il est idéal pour écrire des logiciels en collaboration.
- Git Workflows - Il existe de nombreuses façons différentes de gérer le logiciel lors de l'utilisation du contrôle source. Les méthodes populaires incluent: Gitflow Workflow, flux de travail centralisé, FORKING Workflow, etc.
- Intégration continue - L'intégration continue garantit que votre code se construit sur un serveur qui n'est pas votre propre machine. Regardez l'utilisation d'un serveur de construction comme Jenkins, BuddyBuild, Circle CI, Travis, etc.
- Demandes de traction - Les demandes de traction sont un excellent moyen d'obtenir des commentaires très détaillés sur le code que vous avez développé.
- Méthodologies Agile / Scrum - La plupart des équipes de développement de logiciels modernes suivent des méthodologies Scrum pour le travail.
- Outils de qualité du code - Il existe de nombreux outils que les entreprises utilisent pour mesurer la qualité de leur code et la santé de la base de code. Des mesures telles que le nombre de lignes de couverture de test ou la dette technique de la base de code, sont rendues visibles. Quelques outils fréquemment utilisés: Sonar, Findbugs, Checkstyle et Android Lint.
Introduction aux bases Android
Il existe un tas de sites Web qui fournissent les bases du démarrage du développement Android. Ma recommandation est de suivre la documentation officielle pour comprendre les bases.
Quelques ressources de démarrage:
- Fondamentaux des applications Android
- Certains des principaux composants d'Android: activités, fragments, services, récepteurs de diffusion.
- Manifeste de l'application Android
- Code Lab - créez votre première application Android
Mastering Disposouts dans Android
Il existe de nombreux types de disposition différents dans Android, de FrameLayout à Relativelayout à CONSTRAINTLAYOUT. Assurez-vous que vous êtes à l'aise avec ces types de mise en page couramment utilisés: FrameLayout, Relativelayout, LinearLayout, ContraintLayout, CoordinatorLayout.
Ressources:
- Prise en charge de différentes tailles d'écran
- Code Lab - CONSTRAINTLAYOUT
- Code Lab - CoordinatorLayout
Système de construction - Travailler avec Gradle
Travailler avec Gradle est probablement quelque chose qui est négligé lors du développement d'applications Android. Assurez-vous de comprendre les bases, encore mieux - apprenez à écrire vos propres tâches Gradle!
Ressources:
- Gradle Documentation
- Configurez votre version
Réseautage dans Android
Bien que la plupart de la documentation Android ne référence pas à Retrofit ou OKHTTP, ce sont les bibliothèques les plus couramment utilisées en ce qui concerne le réseautage dans Android. Il est également bon de se familiariser avec les différents outils de profilage disponibles dans Android Studio.
Ressources:
- Comprendre les services reposants
- Rétrofit - Un client HTTP de type type pour Android et Java
- OKHTTP - Un client HTTP & HTTP / 2 pour les applications Android et Java
- Network Profiler dans Android - Un outil dans Android Studio qui vous permet de profiler vos appels réseau.
- Charles Proxy - utile pour intercepter les appels de réseau lors des tests.
Architecter vos applications Android
Malheureusement, écrire du code et faire compiler votre application n'est pas la fin de savoir comment rédiger une application Android maintenable. Les applications Android à grande échelle doivent suivre les bonnes conceptions architecturales afin qu'elles soient maintenues et testables. Vous pouvez suivre de nombreux modèles différents lors de la rédaction d'une application Android. Des modèles tels que MVP, MVVM et une architecture propre sont couramment utilisés. Assurez-vous de comprendre les différences entre les modèles car vous rencontrerez de nombreux modèles différents dans la nature.
Ressources:
- Guide des composants d'architecture Android
- Introduction à Android Architecture Components Vidéo
- Google Exemple d'application Github Repository
- Code Lab - Persistance
- Code Lab - Composants de conscience du cycle de vie
Tester vos applications Android
Une fois que vous avez compris la création d'applications Android, vous devrez réfléchir à la façon de les tester. Les tests unitaires et les tests d'interface utilisateur sont des concepts très importants que vous devez vous assurer de comprendre. Il existe de nombreux outils différents que vous pouvez utiliser pour écrire des tests d'interface utilisateur. La plupart des développeurs Android utilisent Espresso et JUnit pour écrire des tests, mais il existe de nombreux autres outils tels que le robotium, la calabash, l'applium, etc. Je recommande d'utiliser l'espresso et le Junit.
Ressources:
- Bibliothèque d'assistance Android Testing
- Espresso
- Junite
- Mockito
- Code Lab - Test Android
- Code Lab - Test de performances Android
Libérer vos applications Android
Génial, vous êtes arrivé jusqu'ici!
Il y a maintenant quelques concepts que vous devrez couvrir pour publier votre application:
- Préparer votre application pour la sortie
- Signature d'application
- Version de votre application
- Progressive
Sécurité
Il y a beaucoup de choses qui devraient être faites afin de sécuriser votre application et de vous assurer que personne n'ait accès à un contenu non autorisé. Assurez-vous que vous utilisez Proguard (mentionné précédemment). Comprenez ce qu'est un homme dans l'attaque moyenne. Comprendre différentes méthodes de chiffrement et façons dont vous pouvez stocker en toute sécurité des informations dans une application Android, y compris la sécurisation de vos jetons API, le certificat épingle, etc.
Ressources:
- Conseils de sécurité sur Android.
- Épinglage de certificat
- API SAFETYNET
- Système de clés Android '
Sujets Android avancés
Une fois que vous avez couvert toutes les bases de l'écriture d'applications Android, il y a quelques sujets avancés que vous pourriez avoir besoin de couvrir pour contribuer à certaines bases de code:
- KOTLIN - Kotlin est le nouveau langage de programmation pour Android, les développeurs écrivent activement leur code à Kotlin. Il vaut la peine de lire Kotlin et de courir dans les Kotlin Koans. Il existe également un laboratoire de code Kotlin disponible.
- Rxjava - Rxjava est une bibliothèque utilisée pour la programmation asynchrone basée sur des événements. Il vous permet de composer les opérations ensemble pour effectuer des tâches complexes (comme la combinaison de plusieurs appels de réseau) et peut être très utile en ce qui concerne la gestion de quel thread votre code est exécuté. Il y a une excellente vidéo de Jake Wharton décrivant comment utiliser Rxjava et les avantages de l'utiliser.
- Dagger (injection de dépendance) - L'injection de dépendance est un moyen de gérer les objets et leurs dépendances au sein de votre application. Le concept de DI n'est pas Android mais est également disponible dans de nombreux autres cadres. DI peut rendre votre code plus efficace de mémoire et favorise la testabilité. Dagger 2 est le framework Android Di le plus populaire.
- Conception des matériaux - La plupart des applications Android suivent les directives de conception de matériaux de Google. Les directives sont un moyen de concevoir vos applications de manière standard à laquelle les utilisateurs sont habitués.
- Bibliothèques de support dans Android - Les bibliothèques d'assistance dans Android sont très importantes pour vous assurer que votre application ressemble et se comporte de manière cohérente sur plusieurs versions d'Android. Il y a quelques bibliothèques différentes qui ont des objectifs différents. L'article lié décrit le raisonnement derrière les bibliothèques.
- Fuites de mémoire - Dans Android, il est assez facile de créer des fuites de mémoire. Cela peut conduire à un comportement erroné dans votre application (plantages aléatoires). Beaucoup de développeurs utilisent le canari de fuite dans leurs applications pour s'assurer qu'il n'y a pas de fuites de mémoire.
Licence