Présentation Android lors du Bootcamp de formation organisé pour les startupers participants à la deuxieme edition du Mauriapp Challenge.
All right reserved to @hadinarimtic
2. 1- Avant de commencer
Choisir une idée simple et originale
Etudier votre marché avant de passer à la conception
Ne négliger pas la phase de conception et la collecte de données
Toujours considérer le point de vue utilisateur
Rechercher et étudier les « easy to build backend framwork »
Exemple:
Web development framework: PHP-yii framework, Python-Django Framework,
Python flask….
BaaS frameworks: Usergrid, LoopBack, Para, BaasBox, Deployd and Telepat
Le design
Reserver le namespace de votre app sur le playstore
3. 2- Commencer petit
Commencer par une ou deux fonctionnalités essentielle
Exemple: Application pour les agriculteurs
Connaitre le prix des grains par un simple SMS
Publier une annonce de vente
Ajouter des fonctionnalités plus avancés
Identifier et diagnostiquer les maladies susceptibles d’abimer telle ou telle culture.
Consulter l’ actualité du marché des grains comme les « dernières analyses et
contributions sur le marché des grains et le comportement des prix »
4. 3- Bien Choisir votre IDE
L’existant : Android Studios, IntelliJ, Eclipse + Android SDK, Netbeans…
Android Studio
Plus rapide, interface graphique plus riche, l’éditeur officiel de Google.
Moins de risque liés aux dépendances logicielles comparé à Eclipse.
Plusieurs Productivity Shortcuts
Simulateurs performants
Obtention facile du SHA1 KEY certificat: nécessaire pour l’enregistrement de
l’application, surtout les applications utilisant les services et les APIs de Google, ou
necessite l’authentification via les réseaux sociaux
Gradle projects > Tasks > android > signingReport.
Possibilité de créer des icons rapidement en utilisant Vector Asset
app > New > Vector Asset
5. 5- Apprendre XML
XML: Un Langage à balises extensible
est permettant de définir de nouvelles
balises danss le but de structurer les
donnée et mettre en forme des
documents.
Utilisation en Android :
Présentation et Séparation de contenu
6. 6- La documentation officielle
Descriptions de l’architecture Android
Définition et Exemple d’utilisation des méthodes, classes….
Tutoriels pratiques et cours en ligne
Design: Material design, ressources …..
http://developer.android.com/index.html
http://developer.android.com/reference/android/animation/package-summary.html
7. 7- Android Pattern et design Guideline
Un ensemble de règles et principes à respecter dans le design et le développement
de votre application pour :
Assurer la compatibilité de l’application avec les stations ciblé (mobile, TV, Gaming….)
Utiliser les bonnes pratiques en développement Android
Assurer que votre code est propre et réutilisable
Maintenir une navigation logique
Produire des applications ‘user-friendly’ en suivant les principes de design proposés
Rester à jour par rapport aux nouveautés (Design, Librairies… )
http://www.androiddesignpatterns.com/
http://developer.android.com/design/index.html
8. 9- Utiliser les thèmes
Deux methodes pour ajouter les themes:
Pour un seul View: En ajoutant le style de l’attribut à un element du view dans le
fichier XML definissant votre layout (ex. Button)
A une activité ou l’application complete : en ajoutant le theme dans l’attribut
android:theme de l’application ou l’activité en question dans le fichier android
manifest
http://developer.android.com/guide/topics/ui/themes.html
9. Dans votre Android Manifest:
<application android:icon="@drawable/icon"android:theme="@style/Theme.YourApp"
android:name="com.demo.App">
Dans le res/values/styles.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme" parent="android:Theme" />
<style name="Theme.YourApp" parent="android:style/Theme.Light">
<!– Changer le style de vos widget pour prendre en compte le style du theme utilisé->
...
<item name="android:buttonStyle">@style/Widget.Button</item>
...
</style>
</resources>
10. 9- Hierarchy Viewer
Debugger et optimiser vos interfaces
Dans Android Studio :
Tools > Android Device Monitor >
Perspectives > Hierarchy View.
11. 10- Utiliser genymotion
Emulateur performant et collaboratif:
Plus rapide et plus efficace que le stock emulator
Tester l’utilisation de batterie pour chaque activité
Intègre l’option GPS et camera
Compatible avec Eclipe ADT , Android SDK et Android Studio :
https://www.genymotion.com/
12. 12 - Data is everything!
Ne négligez pas la phase de Recherche et collecte de Données: Donnée de
l’application, Medias,…
Tracer l’utilisation des données :
Suivre les statistiques d’utilisation de votre app tels que les fonctionnalités
populaires, les trends pour les publicité….
Outils : Google Analytics, Flurry, Mixpanel, Crashalytics, ACRA, etc.
13. 13 - Tester. Tester. Tester ..
JUnit testing: Pour realiser des tests unitaires et donc étudier le comportement de chaque
unite de code (class, methods, links and denpendencies…)
http://www.vogella.com/tutorials/JUnit/article.html
AlphaBeta Testing:
- Alpha testers: un groupe de développeurs et utilisateurs « friedly users » : feedback bug
report et code/UI optimization
- Beta testers: tester une version stable par un large public de plusieurs profil et secteurs
◦ Ca vous permettra d’avoir le feedback de plusieurs version et appareils Android, avoir plusieurs
perspectives pour améliorer certaines fonctionnalités ou ajouter d’autre
Autres testeurs: Google Beta community , reddit, social media
15. 15 - A Prendre en considération
Utiliser les librairies : EVENT BUS, univeral image loader
Battery life & Hardware Acceleration : Les jeux et les applications utilisant les
dessins et les graphiques.
Certains version Android ont une durée de vie de batterie terrible comme Lollipop
(Android 5.0)
Exemple: 1) Utiliser moins les push notification 2) Screen optimisation
Ecouter le feedback de vos utilisateurs
Limiter les permissions
16. 15 - A Prendre en considération
Préparer votre application à la distribution :
Générer l’application en version release au lieu de faire la compilation habituelle
pour le test
File > Android Tools > Export Unsigned Application Package…
Attention au nom de package: il faut faire attention au package dans lequel
vous allez publier votre application.
Il jouera un rôle d'identifiant pour votre application à chaque fois que vous la
soumettrez, il doit donc être unique et ne pas changer entre deux soumissions.
Tester sur plusieurs versions et appareils Android
17. 16- Rester Motivé
Si ca ne marche pas ca arrive : Apprenez de vos erreur et passer à autre chose!
Avant facebook, Zukerberg a crée CourseMatch
Avant Twitter, Williams a crée une plateforme Podcast Odeo
AMAZON est le produit de plusieurs projets échoués
◦ …..
18. Ressources
Android Developers
Android Designers
Android Authority Community
Stack Exchange Android
Android Design Community
Google+
Google Design Guidelines
Android Developer Tutorials
Android Studio
Android Developer Tools
Android App Design
Android Recipe
Android Best Practices
CommunautésDocumentation et Guidelines