17
Présentation GENYMOBILE SEMINAIRE Châteaux de la Volonière Ice Cream Sandwich : brisons la glace

Présentation paug icecreamsandwich

Embed Size (px)

Citation preview

Page 1: Présentation paug icecreamsandwich

Présentation GENYMOBILE

SEMINAIREChâteaux de la Volonière

Ice Cream Sandwich : brisons la glace

Page 2: Présentation paug icecreamsandwich

API level ● 1 : Android 1.0● 2 : Android 1.1● 3 : Android 1.5 Cupcake● 4 : Android 1.6 Donut● 5 : Android 2.0 Eclair● 6 : Android 2.0.1● 7 : Android 2.1● 8 : Android 2.2 Froyo● 9 : Android 2.3.1 Gingerbread● 10 : Android 2.3.3

● 11 : Android 3.0 Honeycomb● 12 : Android 3.1● 13 : Android 3.2

● 14 : Android 4.0 Ice Cream Sandwich● 15 : Android 4.0.3

FORMATION Introduction

Page 3: Présentation paug icecreamsandwich

API de contacts enrichie ● Accès au profil utilisateur● Ajout d'invitations pour les réseaux sociaux

Unification des calendriers et des voicemails● API calendrier● API voicemails

Communication entre appareils● NFC● WiFi Direct● Bluetooth médical

Interface utilisateur● GridLayout● Switch, PopupMenu et ActionBar● ActionProvider

Autres nouveautés● Caméra● Gestion des entrées● Contrôle des applications multimédia● Gestion du VPN et des certificats

FORMATION What's new ?

Page 4: Présentation paug icecreamsandwich

Nouvelle table :● ContactsContract.Profile

Nouvelles permissions : ● READ_PROFILE● WRITE_PROFILE

SyncAdapter● Permet d'inviter les contacts directement

depuis l'application People● Possibilité d'intercepter des intents pour les

contacts et groupes Autres nouveautés● Support de photos 256x256 avec

ContractsContract.DisplayPhoto● ContactsContract.DataUsageFeedback

FORMATION API de contacts

Page 5: Présentation paug icecreamsandwich

Accès par tables● CalendarContract.Calendars● CalendarContract.Events● CalendarContract.Reminders● CalendarContract.Attendees● CalendarContract.Instances● CalendarContract.ExtendedProperties

Nouvelles permissions

● READ_CALENDAR● WRITE_CALENDAR

Création d'évènement par intent● Intent.ACTION_INSERT● CalendarContract.Events.CONTENT_URI● Pas de permission requise

FORMATION API calendrier

Page 6: Présentation paug icecreamsandwich

Accès par tables● VoicemailContract.Voicemails● VoicemailContract.Status

Nouvelles permissions

● ADD_VOICEMAIL

FORMATION API voicemails

Page 7: Présentation paug icecreamsandwich

Nouveautés du NFC● Possibilité d'envoi de messages NDEF● Applications : échange de liens, contacts, fichiers...

WiFi Direct

● Package android.net.wifi.p2p● Permissions ACCESS_WIFI_STATE et CHANGE_WIFI_STATE, INTERNET● Nouveaux intents

○ WIFI_P2P_PEERS_CHANGED_ACTION○ WIFI_P2P_THIS_DEVICE_CHANGED_ACTION○ WIFI_P2P_STATE_CHANGED_ACTION○ WIFI_P2P_CONNECTION_CHANGED_ACTION

● manager = (Wifip2pManager) Context.getSystemService(WIFI_P2P_SERVICE)

Bluetooth Medical● android.bluetooth.BluetoothHealth

FORMATION Communication

Page 8: Présentation paug icecreamsandwich

GridLayout● Hérite de ViewGroup● Permet d'organiser ses vues sur une grille● Objet Space pour insérer des espaces vides

FORMATION GridLayout

Page 9: Présentation paug icecreamsandwich

Switch● Peut remplacer un CheckBox● Existe aussi pour les préférences :

SwitchPreference

ActionBar● Peut contenir logo, menus, onglets, champs

de recherche...● Se sépare en deux sur les petits écrans

PopupMenu

FORMATION IHM Honeycomb

Page 10: Présentation paug icecreamsandwich

ActionProvider● Menu dynamique en fonction des applications

disponibles● Exemple : ShareActionProvider

Modes d'affichage des boutons HOME/BACK/MENU

● View.setSystemUiVisibility prend en paramètre○ SYSTEM_UI_FLAG_VISIBLE○ SYSTEM_UI_FLAG_LOW_PROFILE○ SYSTEM_UI_FLAG_HIDE_NAVIGATION

FORMATION IHM

Page 11: Présentation paug icecreamsandwich

API Caméra● Détection de visages

○ Camera.startFaceDetection()○ Camera.FaceDetectionListener

● Réglage du focus :○ avec Camera.Area○ Mode FOCUS_MODE_CONTINUOUS_PICTURE

● Prise de photos en mode caméra avec takePicture()● Verrouillage des paramètres

○ setAutoExposureLock()○ setAutoWhiteBalanceLock()

● Orientation dynamique avec setDisplayOrientation()

FORMATION Autres nouveautés

Page 12: Présentation paug icecreamsandwich

Gestion des entrées● Gestion des évènements de type "hover"

○ View.OnHoverListener○ Type d'évènements avec getAction()

■ MotionEvent.ACTION_HOVER_ENTER■ MotionEvent.ACTION_HOVER_EXIT■ MotionEvent.ACTION_HOVER_MOVE

● Types de pointeur avec getToolType()○ MotionEvent.TOOL_TYPE_UNKNOWN○ MotionEvent.TOOL_TYPE_FINGER○ MotionEvent.TOOL_TYPE_MOUSE○ MotionEvent.TOOL_TYPE_STYLUS○ MotionEvent.TOOL_TYPE_ERASER

● Boutons de souris avec getButtonState()○ MotionEvent.BUTTON_PRIMARY○ MotionEvent.BUTTON_SECONDARY○ MotionEvent.BUTTON_TERTIARY○ MotionEvent.BUTTON_BACK○ MotionEvent.BUTTON_FORWARD

● Axe du stylet avec getAxisValue()○ MotionEvent.AXIS_DISTANCE○ MotionEvent.AXIS_TILT○ MotionEvent.AXIS_ORIENTATION

FORMATION Autres nouveautés

Page 13: Présentation paug icecreamsandwich

Contrôle des applications multimédia● Communication simplifiée et unifiée entre applications multimédia

○ Prise de contrôle des applications multimédia depuis un widget, etc...○ Affichage des informations de lecture

● android.media.RemoteControlClient Accessibilité

● Description vocale des éléments avec le champ android:contentDescription● Refonte de l'API, nouvelles classes :

○ AccessibilityRecord○ AccessibilityNodeInfo

● Nouvelles méthodes de la classe View :○ onInitializeAccessibilityEvent○ onInitializeAccessibilityNodeInfo○ setAccessibilityDelegate

● Délégation de l'accessibilité via la classe View.AccessibilityDelegate

FORMATION Autres nouveautés

Page 14: Présentation paug icecreamsandwich

Services de correction orthographique● Possibilité de créer ses propres services de correction orthographique

○ A partir de la classe SpellCheckerService○ Avec la permission BIND_TEXT_SERVICE

Services Text-to-speech

● Développement de services TTS en dérivant TextToSpeechService● Refonte de l'API

○ Nouvelles classes TextToSpeech.EngineInfo et SynthesisRequest○ Récupération des moteurs avec TextToSpeech.getEngines()

● Nouvelle classe à partir de l'API level 15 : UtteranceProgressListener

FORMATION Autres nouveautés

Page 15: Présentation paug icecreamsandwich

Gestion du VPN● Nouvelle classe android.net.VpnService● Nouvelle permission BIND_VPN_SERVICE● Plusieurs sécurités pour l'établissement d'un VPN :

○ Acceptation explicite de l'utilisateur○ Limitation à une seule connexion○ Présence d'une notification○ Boîte de dialogue système pour contrôler le VPN

Gestion des certificats

● Nouvelle classe KeyChain○ Accès aux clés privées et aux certificats associés

FORMATION Autres nouveautés

Page 16: Présentation paug icecreamsandwich

Divers● Support des flux audio et vidéo par la classe MediaPlayer (permission INTERNET

requise), et de nouveaux codecs● Possibilité de déclarer une activité pour les paramètres réseau en filtrant l'intent

ACTION_MANAGE_NETWORK_USAGE● Nouveautés dans l'API RenderScript● Possibilité d'interdire l'utilisation de la caméra avec la méthode DevicePolicyManager.

setCameraDisabled() et la propriété USE_POLICY_DISABLE_CAMERA● Gestion des capteurs de température et d'humidité avec les types

TYPE_AMBIENT_TEMPERATURE et TYPE_RELATIVE_HUMIDITY● Bibliothèque d'effets OpenGL avec EffectFactory● Widget TextureView pour l'affichage d'objets OpenGL au sein d'un layout● Amélioration de JNI

Autres nouveautés Honeycomb

● Fragments● Presse papier● Drag'n'drop● Gestion des périphériques USB● Gestion des protocoles MTP et RTP

FORMATION Autres nouveautés

Page 17: Présentation paug icecreamsandwich

Questions ?

FORMATION Conclusion