La communication réseau

Documents pareils
MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Programmation Internet en Java

Stockage de données sous Android

Introduction à ElasticSearch

4. SERVICES WEB REST 46

Bases de données et fournisseurs de contenu

Android 4 Les fondamentaux du développement d'applications Java

Paris Airports - Web API Airports Path finding

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Applications et Services WEB: Architecture REST

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Architecture Orientée Service, JSON et API REST

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

CREATION WEB DYNAMIQUE

Portabilité sur système Android d un système de borne d information

LES ACCES ODBC AVEC LE SYSTEME SAS

1. Base de données SQLite

La VOIP :Les protocoles H.323 et SIP

GeniusTim_Labo Version 1.0

UCOPIA SOLUTION EXPRESS

Android. Présentation d Android. Florent Garin

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Cahier des charges. Liny EIP 2013 EPITECH. seban_j, jaspar_y, ringue_t, rousse_g, thierr_o

SIP A. Aoun - La Visioconférence SIP - 1

Compte TOURISME PORTS ENVIRONNEMENT UPPC RÉSEAU EXEMPLAIRE DES VILLES PORTS - TERROIRS CULTURELS DE CORSE TIC PORTO- VECCHIO

UCOPIA EXPRESS SOLUTION

Pratique et administration des systèmes

OpenPaaS Le réseau social d'entreprise

La Domotique au bout des doigts

arcopole Studio Annexe 7 Architectures Site du programme arcopole :

Les fondamentaux du développement d applications Java

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

FileMaker Server 12. publication Web personnalisée avec XML

SIP. Sommaire. Internet Multimédia

18 TCP Les protocoles de domaines d applications

SOMMAIRE

BPCE et Visa Europe proposent la «Technologie micro SD», pour un paiement sans contact accessible aux smartphones

les techniques d'extraction, les formulaires et intégration dans un site WEB

Copyright Crypto-sud PROGRAMME DE FIDÉLITÉ TOTARA - CARTES MULTI-COMMERCES COMMUNICANTES CRYPTO-SUD

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Développement d'un logiciel VoIP BlackBerry

Catalogue des formations Edition 2015

GUIDE DE DEMARRAGE V1.02

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction

domovea Portier tebis

Projet Android (LI260) Cours 2

Android comme périphérique annexe.

DÉVELOPPEMENT ANDROID

BES WEBDEVELOPER ACTIVITÉ RÔLE

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

Mysql. Les requêtes préparées Prepared statements

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan

Option site e-commerce

Internet of Things Part 1

Education Delivery Intelligent Tool

2 disques en Raid 0,5 ou 10 SAS

Panorama de l offre et des usages des tablettes

Service de dématérialisation de factures

Alfstore workflow framework Spécification technique

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

vcloud Director Comment créer et gérer son «Cloud» Jean-Claude DAUNOIS Senior Systems Engineer VMware

Censio Tutorial Sharepoint Cloud Connector exporter les données d un fichier plat dans Sharepoint Online. Version 1.

Java DataBaseConnectivity

IP Exchange Network Architecture et Services. EFORT

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Interface Android pour la consultation de données envoyées par un capteur

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Fiche Technique Windows Azure

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13

GenIP 30i : Passerelle intelligente dédiée aux applications industrielles les plus critiques

CHARTE DE GESTION DES COOKIES

Architectures Web Services RESTful

Messagerie asynchrone et Services Web

Module de livraison DPD Magento

Une solution complète pour télésurveiller et télégérer vos installations photovoltaïques

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Offre de stage. Un(e) stagiaire en informatique

Wonderware Mobile reporting

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

Prise en compte des ressources dans les composants logiciels parallèles

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

TP5 VOIP résidentiel étendu Page 1 sur 7 Lp Ampere CLAVAUD

La base de données XML exist. A. Belaïd

Serveurs de noms Protocoles HTTP et FTP

Nous vous garantissons un niveau élevé d exploitation de vos données

Contrôle d accès Centralisé Multi-sites

TD/TP 1 Introduction au SDK d Android

Android et le Cloud Computing

Fiche produit. Important: Disponible en mode SaaS et en mode dédié

Table des matières. Partie I Concepts de base Préface... VII

wiki.ipfire.org The official documentation for IPFire - An Open Source Firewall Solution Outils

NovoSIP manuel de mise en service

Rokia Missaoui - UQO. INF4163 Hiver 2008

Spécifications de raccordement au service de Téléphonie sur IP (ToIP) de RENATER

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

RMI le langage Java XII-1 JMF

TP Contraintes - Triggers

Transcription:

La communication réseau Sources : Android Devloppers, Wikipedia Paris, 12/04/2016

Les interfaces de communication 2 Un caractéristique des smartphones et des tablettes tactiles : nous ne sommes plus dans un monde «connected less», mais il faut prendre en compte la mobilité! Des interfaces variées : Cellulaires : EDGE, 3G, 4G LAN : WiFi, Bluetooth Champs proches (Near Field) : NFC filaires : USB Les pilotes de ces interfaces et les piles protocolaires sont celles du noyau Linux classique (adaptations éventuelles pour l énergie ou la mémoire)

La programmation 3 La pile protocolaire maîtresse : Internet - IP/TCP/UDP. Pour la communication bas niveau, on utilise essentiellement les APIs standard de Java du paquetage java.net et les classes utilitaires de java.util : Socket, IOStreams, À réserver en priorité aux communications LAN Mais d autres APIs existent (WiFiDrirect)

La programmation 3 La pile protocolaire maîtresse : Internet - IP/TCP/UDP. Pour la communication bas niveau, on utilise essentiellement les APIs standard de Java du paquetage java.net et les classes utilitaires de java.util : Socket, IOStreams, Programmation réseau de «haut niveau» : HTTP est le protocole de choix! Une fois encore on utilise des librairies standard de Java : Url, HTTPConnexion Particulièrement adapté à la communication sur réseau cellulaire, simple à mettre en œuvre et à configurer

La programmation 4 On peut aussi lui préférer les APIs Apache des paquetages org.apache.http dont les implantations spécifiques pour Android se trouve dans les paquetages android.net.http. Pour certains protocoles spécifiques les paquetages android.net sont à considérer : (rtp, ntp, sip ) Enfin il est possible d utiliser des APIs orientées WebServices restfull grâce au support de certaines fonctionnalités comme le format JSON (org.json). Pour finir, il existe des APIs spécifiques à la connectivité des terminaux mobiles dans android.net.

J.-F. Susini 12/04/2016 Les autorisations 5 Une caractéristique des APIs réseaux : Elles nécessitent de déclarer des permissions d accès au réseau dans le Manifest Android. Pour accéder aux APIs Internet : <uses-permission android:name="android.permission.inte RNET"/> et pour accéder à l état des connexions réseau : <uses-permission android:name="android.permission.acce SS_NETWORK_STATE"/>

Les connexions HTTP 6 Les connexions réseau doivent se faire sur un thread différent du UIThread (tolérance jusqu à Android 3.0). L outil principal : java.net.httpurlconnection. obtenu à partir d un objet java.net.url via la méthode openconnection() : HttpURLConnection cnx = (HttpURLConnection)new URL(«http:// www.cnam.fr/ ").openconnection(); Pour spécifier la méthode : setrequestmethod() avec "GET", "POST"

Les connexions HTTP 7 Paramétrage de la requête en utilisant : addrequestproperty(). Pour envoyer des données avec la requête, on utilise un OutputStream obtenu par getoutputstream(). La requête est envoyé avec connect(). Savoir si la requête est satisfaite : getresponsecode() à comparer aux constantes de HttpURLConnection : HTTP_OK, HTTP_NOT_FOUND, HTTP_UNAUTHORIZED La lecture de la réponse consiste à lire un objet de type InputStream obtenu par getinputstream().

Le service système : ConnectivityManager 8 Il faut en premier lieu récupérer la référence de cet objet dans le contexte d exécution Android : getsystemservice() avec la constante Context.CONNECTIVITY_SERVICE. Pour récupérer les informations sur la connexion active (route par défaut) : getactivenetworkinfo(). Si pas de connexion active au moment de l appel -> null. Récupérer les informations sur toutes les connexions : getallnetworkinfo(). Enfin pour récupérer les infos sur un type de réseau :getnetworkinfo(). Avec TYPE_WIFI, TYPE_BLUETOOTH, TYPE_MOBILE, TYPE_MOBILE_MMS

Le service système : ConnectivityManager 9 Les objets NetworkInfo renseignent sur l état d une connexion réseau : getdetailedstate() et getstate(), isavailable(), isconnected(), isconnectedorconnecting(), isfailover() et isroaming(). Il est important de surveiller les connexions réseaux car leur qualité évolue dans le temps (par exemple en fonction des déplacements de l utilisateur). Enregistrer un BroadcastReceiver sur un changement de connexion peut-être important dans le comportement de l application.

Les Broadcast Receiver Sources : Android Developpers, Wikipedia Paris, 12/04/2016

Les Broadcast Receivers 11 Sous-classe de android.content.broadcastreciever Implantation d un bus logiciel à message pour Android Les événements sont des Intents, diffusés par des appels systèmes (Context.sendBroadcast(), Context.sendOrderedBroadcast()) Déclaration dans le fichier Manifest (élément receiver avec Intent-Filters + permissions) ou (Context.registerReciever()) Le traitement de l Intent par redéfinition de onrecieve() Attention : géré par l UIThread

12/04/2016 BroadcastReciever 12 Peut être déclaré par la balise <receiver> avec les <intent-filter> correspondant, dans le manifeste Android ou enregistré par l appel sur le contexte d exécution Android : registerreceiver(). Étend la classe BroadcastReceiver. La méthode importante est onreceive(). N étend pas Context mais reçoit le contexte Android en paramètre. Attention : est exécuté dans le UIThread => pas d opérations longues! Pour le réseau : CONNECTIVITY_ACTION.

Les Contents Providers Sources : Wikipedia, www.android.com Paris, 12/04/2016

Les Content Providers 14 Exposent des données mises à disposition par une application sous la forme d une ou plusieurs tables (la mise en forme est à la charge du Provider) Une table définit un type de donnée et chaque ligne une instance de ce type de donnée L accès aux données exportées se fait par l utilisation d un ContentResolver Accès via URI : content://package_name_provider/type/id requêtes : query, update, insert, delete

Les Content Providers 15 La connexion entre ContentProvider et ContentResolver se fait par IPC Requêtes sur les données similaires à SQL déclaration dans le manifest de l application : balise <provider> Initialisation à la première utilisation oncreate() Pas de callback particulière à la libération des ressources -> gérer la sauvegarde des données après chaque requête