Ces projets visent à être:
Résumé des spécifications:
Voici son API de serveur de contrepartie d'où cette application consomme les données -> Rails-API-base
Installez votre IDE préféré ou simplement le SDK Android (BuildTools 23.0.2 et CompilesDK 23, ou définissez vos propres versions dans les dependencies.gradle ). J'utilise Android Studio.
Clone le référentiel et entrer:
git clone git://github.com/jordifierro/android-base.git --origin android-base YourProjectName
cd YourProjectName
./bin/remove_notes
./bin/rename_project YourProjectName your.package.name
./gradlew clean build cAT
./bin/reset_git https://github.com/yourusername/YourProjectName.git
C'est tout, vous pouvez maintenant commencer à développer votre propre application!
Remarque: Pour exécuter l'application (vous ne pouvez exécuter que les tests maintenant), n'oubliez pas de configurer un serveur API (Rails-API-Base est déjà développé pour servir cette application, mais vous pouvez également créer le vôtre) et configurer le RestApi pour vous connecter (modifiez simplement Restapi.Java Params).
L'application elle-même est presque vide, elle vise uniquement à fournir des modules de base, à implémenter les structures avec certains modèles et à donner un exemple de code. Voici les spécifications:
L'objectif principal de cette application est d'éviter d'écrire du code de buissier de base de l'APP, de sorte que les fonctionnalités suivantes sont déjà implémentées:
Cela peut être utilisé à partir de maintenant, et il fournit également un moyen structuré d'ajouter plus de code.
Pour fournir plus d'échantillon de code, il a été développé du code pour gérer notes (comme la représentation de notes de papier manuscrite), composée par un title et un content . Ainsi, l'application a des notes d'index, de détail, de création et d'édition d'écrans.
Son objectif unique est d'être un exemple de code, il sera donc supprimé lorsque vous exécutez le script ./bin/remove_notes .
Le code a été structuré en suivant l'approche d'architecture propre et le modèle de modèle-vue-présentateur (MVP). Vérifiez ceci et ces publications, ainsi que ce projet, pour plus d'informations à ce sujet.
Le principe d'inversion de dépendance est utilisé sur l'application essentiellement pour faciliter les tests et rendre les composants découplés et réutilisables. Il réduit également le code de chauffeur et aide à la gestion des étendues d'instance. La bibliothèque utilisée pour y parvenir est le poignard 2. Butter Knife est utilisé pour l'injection de vue.
L'architecture propre vous fait créer différentes couches et, afin d'éviter un enfer de rappel, le paradigme de programmation réactif est appliqué à l'aide de la bibliothèque ReactiveX.
En tant qu'application client, son objectif principal est de permettre à l'utilisateur d'interagir avec les données d'une API de serveur. Le projet montre comment gérer cela facilement. La bibliothèque de rétrofit est utilisée pour implémenter les méthodes d'appel API. L'authentification, la version API et l'internationalisation sont incluses aux demandes.
L'une des choses les plus intéressantes de ce projet est qu'elle a une couverture complète des tests unitaires, des modules de données aux vues Android, y compris toutes les couches intermédiaires. C'est le résultat de l'utilisation de l'architecture propre, de l'inversion de dépendance et des bonnes pratiques de test. Un exemple de cela est le test de vue, où le présentateur de vue est moqué par Mockito et injecté par le test de dagger, fourni par un coureur Junit personnalisé.
Ici, vous pouvez trouver des tutoriels qui expliquent certains de ces tests:
Un autre modèle et de bonnes pratiques sont utilisés dans le projet tels que les activités de mise en œuvre et les fragments de comportement commun avec l'héritage, utilisent des fragments et définissent la navigation dans les activités pour faire du remodelage d'écran indolore, utiliser des interfaces pour découpler les composants ... Android Spécifique comme l'internationalisation des chaînes, l'utilisation de feuilles de style et d'autres petites méthodologies sont également suivies. Ici, l'une des ressources utilisées -> les meilleures pratiques Android.
Travis-CI a été ajouté en tant que système d'intégration continue pour exécuter tout le test sur chaque poussée (tests Java et Android).
Pour exécuter les tests localement, connectez simplement un appareil ou exécutez l'émulateur et exécutez:
./gradlew clean build cAT
Cela exécutera à la fois des tests Java et Android.
Il existe des scripts dans le dossier /bin pour rendre vraiment facile Démarrer un nouveau projet à partir de zéro à l'aide de ce modèle. Suivez simplement la section «démarrage rapide» placé ci-dessus.
Tous les scripts shell sont vérifiés par l'outil ShellCheck.
Voici son API de serveur de contrepartie à partir de l'endroit où cette application consomme les données -> Rails-API-base.
Toutes les suggestions et contributions sont plus que les bienvenues!
./gradlew clean build cAT
Malheureusement, il n'y a pas encore de contributeurs.
http://jordifierro.com