3. FORMATION
What's new ?
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
4. FORMATION
API de contacts
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
5. FORMATION
API calendrier
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
6. FORMATION
API voicemails
Accès par tables
● VoicemailContract.Voicemails
● VoicemailContract.Status
Nouvelles permissions
● ADD_VOICEMAIL
7. FORMATION
Communication
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
8. FORMATION
GridLayout
GridLayout
● Hérite de ViewGroup
● Permet d'organiser ses vues sur une grille
● Objet Space pour insérer des espaces vides
9. FORMATION
IHM Honeycomb
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
10. FORMATION
IHM
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
11. FORMATION
Autres nouveautés
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()
12. FORMATION
Autres nouveautés
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
13. FORMATION
Autres nouveautés
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
14. FORMATION
Autres nouveautés
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
15. FORMATION
Autres nouveautés
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
16. FORMATION
Autres nouveautés
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