Android workshop - Bootcamp du Mauriapp Challenge 2016

18
Android Workshop Quick Hacks & Tips

Transcript of Android workshop - Bootcamp du Mauriapp Challenge 2016

Page 1: Android workshop - Bootcamp du Mauriapp Challenge 2016

Android Workshop Quick Hacks & Tips

Page 2: Android workshop - Bootcamp du Mauriapp Challenge 2016

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

Page 3: Android workshop - Bootcamp du Mauriapp Challenge 2016

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 »

Page 4: Android workshop - Bootcamp du Mauriapp Challenge 2016

3- Bien Choisir votre IDEL’existant : Android Studios, IntelliJ, Eclipse + Android SDK, Netbeans…

Android StudioPlus 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 performantsObtention facile du SHA1 KEY certificat: nécessaire pour l’enregistrement de

l’application, surtout les applications utilisant les services et les APIs de Google, ounecessite l’authentification via les réseaux sociaux

Gradle projects > Tasks > android > signingReport.

Possibilité de créer des icons rapidement en utilisant Vector Assetapp > New > Vector Asset

Page 5: Android workshop - Bootcamp du Mauriapp Challenge 2016

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

Page 6: Android workshop - Bootcamp du Mauriapp Challenge 2016

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.htmlhttp://developer.android.com/reference/android/animation/package-summary.html

Page 7: Android workshop - Bootcamp du Mauriapp Challenge 2016

7- Android Pattern et design GuidelineUn 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

Page 8: Android workshop - Bootcamp du Mauriapp Challenge 2016

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’attributandroid:theme de l’application ou l’activité en question dans le fichier android manifest

http://developer.android.com/guide/topics/ui/themes.html

Page 9: Android workshop - Bootcamp du Mauriapp Challenge 2016

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>

Page 10: Android workshop - Bootcamp du Mauriapp Challenge 2016

9- Hierarchy ViewerDebugger et optimiser vos interfaces

Dans Android Studio :

Tools > Android Device Monitor > Perspectives > Hierarchy View.

Page 11: Android workshop - Bootcamp du Mauriapp Challenge 2016

10- Utiliser genymotionEmulateur 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/

Page 12: Android workshop - Bootcamp du Mauriapp Challenge 2016

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.

Page 13: Android workshop - Bootcamp du Mauriapp Challenge 2016

13 - Tester. Tester. Tester .. JUnit testing: Pour realiser des tests unitaires et donc étudier le comportement de chaqueunite 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

Page 14: Android workshop - Bootcamp du Mauriapp Challenge 2016

14 - Stackoverflow

Page 15: Android workshop - Bootcamp du Mauriapp Challenge 2016

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

Page 16: Android workshop - Bootcamp du Mauriapp Challenge 2016

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

Page 17: Android workshop - Bootcamp du Mauriapp Challenge 2016

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

◦ …..