Avec l'apparation de Lollipop, la nouvelle version majeure d'Android, de nombreuses API ont été créer ou mises à jour. Pour illustrer leur fonctionnement, Google propose dans le SDK de nouveau exemple de code source.
Exemple de code source
![exemple code source projet exemple code source projet](/upload/images/article/android%20studio/exemple_code_source.jpg)
Android Lollipop apporte de nouvelles API mais aussi des modifications sur les existantes. Parmis ses API on trouve des exemples pour :
- Media Browser Service : Une simple application audio qui montre la gestion d'une librairie et fournis le contrôle de lecteure et des metadonnées.
- Messaging Service : Un simple service qui envoit des notifications en utilisant NotificationCompat.
- Speed Tracker : Affiche la vitesse courante de l'objet connecté (depuis Android Wear). L'utilisateur peut régler une vitesse limite, enregistrer des coordonnées et synchroniser avec le smartphone.
- AppRestrictionSchema : Exemple qui explique comment utiliser les restrictions d'application.
- AppRestrictionEnforcer : Exemple qui permet de mettre des restrictions à une autre application comme un profil utilisateur.
- DocumentCentricRelinquishIdentity : Cet exemple montre comment renoncer à l'identité aux activités ci-dessus dans la task stack.
- DocumentCentricApps : Exemple qui explique comment utiliser la nouvelle API
- HdrViewFinder : Une démo implémentant une vue de camera HDR en temps réel en alternant les expositions.
- Interpolator : Démontre comment utiliser les animations path et interpolator pour le material design.
- DrawableTinting : Affiche comment appliquer des filtres de couleurs et teintures pour les Drawables qu'il soit programmer ou comme ressources XML
- LNotifications : Montre les nouvelles fonctionnalités de notifications d'Android 5.0 (Heads-up, visibility, ...)
- CardView : Démontre comment utiliser la nouvelle UI CardView d'Android 5.0 en utilisant la librairie support de rétrocompatibilité
- RecyclerView : Démontre comment utiliser une RecyclerView avec le LayoutManager pour créer une listView vertical.
- RevealEffectBasic : Une exemple pour montrer l'effet de reveal en material design
- FloatingActionButtonBasic : Un exemple avec deux tailles de Floating Action Buttons et comment intéragir avec eux
![jobscheduler jobscheduler](/upload/images/article/sdk/JobSchedulerSample.png)
- JobScheduler : Exemple pour programmer ses jobs avec des indices visuelles.
- AndroidTVLeanbackSample : Utilisation de la libraire support de Android TV Leanback
- Visual-Game-Controller : Un exemple affichant les évenements reçus par une manette à l'écran.
- GameControllerSample : Exemple de jeu multijoueur avec des notions de input handling
- ClippingBasic : Démonstration de clipping sur une vue
- ElevationDag : Démonstration de drag and drop sur différentes formes.
- Elevation Basic : Propose deux manières alternatives pour déplacer une vue sur l'axe z.
![ActivitySceneTransitionBasic ActivitySceneTransitionBasic](/upload/images/article/sdk/ActivitySceneTransitionBasic.png)
- ActivitySceneTransitionBasic : Utilisation de transition entre différente activity avec des combinaisons de moveImage et changeBounds.
- Camera2Video : Démonstration pour enregistrer une vidéo en utilisant l'API Camera2
- Camera2Basic : Exemple qui affiche la preview de la camera et la prise de photo.
![BasicManagedProfile BasicManagedProfile](/upload/images/article/sdk/BasicManagedProfile.png)
- BasicManagedProfile : Comment créer un managed profile avec des notions de restrictions, intents et remise à zéro.