[PT4] Projet Développement d une application Android à l aide du SDK et du NDK et comparaison des deux kits. Matthias Devlamynck Cyril Audibert S4p2C



Documents pareils
Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

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

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

Android. Présentation d Android. Florent Garin

DÉVELOPPEMENT D UNE APPLICATION DE COMMUNICATION BLUETOOTH SUR ANDROID. Projet de fin d étude VAP «Architecte de Services en Réseau»

Point sur les solutions de développement d apps pour les périphériques mobiles

Visual Paradigm Contraintes inter-associations

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

LA MOBILITE : ACTEURS, OUTILS,

Introduction au développement SharePoint. Version 1.0

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

1. INTRODUCTION 2. IDENTIFICATION 2.1. DESCRIPTIF DE LA PLATE-FORME MATERIELLE.

Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

Installation et prise en main

Environnements de développement (intégrés)

Béatrice Bertrand CDDP de l Eure. Béatrice Bertrand CDDP de l'eure

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Programmation Mobile Android Master CCI

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

Environnement Zebra Link-OS version 2.0

Installation Eclipse Galileo. Groupe Entreprenant et Innovateur. France. Tutoriel. Programmation Mobile. Cours. Arón HERRERA PONTE. Coach.

FORMATION KAWET. Formation : Créer une appli mobile avec Kawet

Catalogue des stages Ercom 2013

ELOECM Conference2015

Vulgarisation Java EE Java EE, c est quoi?

TigerPro CRM Application mobile

Drive your success. «Un écosystème complexe implique une capacité de gestion temps réel des aléas»

Présentations personnelles. filière IL

Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

GL BE FLYER. Chef de projet de l équipe : SCIONICO Pierre

QPC Informatique vous propose d apporter la mobilité à vos applications de gestion d entreprise sans changer votre outil de gestion interne!

La gamme VidyoConferencing. La visioconférence HD avec une qualité et une souplesse d utilisation incroyables pour réaliser d incroyables économies.

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

TD/TP 1 Introduction au SDK d Android

Adobe Technical Communication Suite 5

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

MB Led. Benjamin Bonny Cédric Le Ninivin Guillaume Normand

Optimiser pour les appareils mobiles

Pourquoi utiliser SharePoint?

Catalogue Formations Jalios

Gestion collaborative de documents

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE

BIRT (Business Intelligence and Reporting Tools)

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

UTILISATION DE LA PLATEFORME WEB D ANALYSE DE DONNÉES GALAXY

TELEGESTION. l outil indispensable des intervenants à domicile. Maison de l Emploi de Paris Plateforme RH 21 Mai 2015

GeniusTim_Labo Version 1.0

Prise en main rapide

Sauvegarde Android

Dossier -projet d'informations et Sciences du numérique.

La Stratégie d Intégration Advantage

Extension de VeSMEL pour la manipulation des contenus dans le m-learning

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

La biblio vient à vous : la veille avec les fils RSS

Annexe Android Studio

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Cahier des charges : gestion de projets agiles. Programmation d Algorithmes Distribués (PAD)

Avantic Software Présentation de solutions GED pour mobiles (Gestion Electronique de Documents)

IBM Tivoli Compliance Insight Manager

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Les pages suivantes présenteront : I. Le téléchargement et l installation du navigateur. II. L utilisation de Pep s à l aide de ce navigateur.

LES OBJETS CONNECTES

Tutorial pour une application simple

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

La technologie Java Card TM

Environnement Zebra Link-OS version 2.0

Générer du code à partir d une description de haut niveau

Introduction à l informatique en BCPST

Capacité de mémoire Tablettes

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

Une vue panoramique de l ensemble de l activité de prospection. Une capacité renforcée pour le diagnostic commercial.

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Entrez dans l ère du Numérique Très Haut Débit

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

X2BIRT : Mettez de l interactivité dans vos archives


L informatique en BCPST

Guide utilisateur de l application messagerie vocale visuelle pour smartphone

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

SMPMKPOT=aKbKbKpK=a îéäçéééãéåí=çû^ééäáå~íáçåë= kçã~çéë=j=abbp^mm

Chapitre 1 Retour en arrière

Guide utilisation SFR Sync. SFR Business Team - Présentation

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

D4.4 Organiser une veille informationnelle

9 rue Lucien Roullier Goussainville / INGÉNIEUR SYSTÈME LINUX

App vs. WebApp Best Of Mobile 5 avril 2012

CONCEPTION ET REALISATION D UNE APPLICATION MOBILE M-BANKING

Dafoe Présentation de la plate-forme UIMA

Qu est-ce que le «cloud computing»?

Votre premier projet Android

+ = OpenStack Presentation. Raphaël Ferreira - enovance. Credits : Thanks to the OpenStack Guys 1

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Programmation des Applications Réparties. Parsers XML DOM et SAX

FileMaker Server 14. Guide de démarrage

PHILA-Collector-USB-16Go Pour Windows & Android

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration

Transcription:

[PT4] Projet Développement d une application Android à l aide du SDK et du NDK et comparaison des deux kits Matthias Devlamynck Cyril Audibert S4p2C 2 avril 2013

Introduction Ce rapport présente le travail que nous avons réalisé sur le projet PT4 dans le cadre de notre formation à l IUT d Informatique de Bordeaux 1. Tout d abord le projet est présenté avec ses objectifs et le travail demandé, puis il présente le déroulement du projet, pour finir par les résultats obtenus.

Table des matières 1 Présentation du projet 2 1.1 SDK.......................................... 2 1.2 NDK.......................................... 2 1.3 L application : RSSoid................................ 2 1.3.1 Fonctionnalités................................ 2 1.4 Les outils utilisés................................... 3 2 Déroulement du projet 4 3 Résultats obtenus 5 3.1 L application..................................... 5 3.2 SDK vs NDK..................................... 5 3.3 Liens.......................................... 6 1

1. Présentation du projet Le projet présenté dans ce rapport consiste en un développement d une application au choix sous Android. Il s agit de découvrir cette plate-forme, d acquérir une première expérience dessus et plus particulièrement de découvrir les deux APIs disponibles pour le développement : le SDK et le NDK. En effet l objectif principal de ce projet est de se familiariser avec ces deux technologies pour au final pouvoir donner un retour d expérience et notre avis dessus. 1.1 SDK Il s agit du kit de développement de base sous Android. Il utilise le langage Java et permet d accéder aux fonctionnalités du système tel que l affichage d interface graphique, la gestion des entrées utilisateur, la sauvegarde de données dans une base SQL grâce à SQLite ainsi que la possibilité d intégrer l application au système en envoyant des informations dans la barre de notifications dans par exemple. 1.2 NDK Ce kit permet d utiliser du code natif, c est-à-dire compilé en langage machine et directement exécuté par le processeur, contrairement au code Java qui est interprété par une machine virtuelle. L objectif est de pouvoir profiter du gain de performance offert par un code natif tout en l intégrant avec du code Java issu du SDK. 1.3 L application : RSSoid L application que nous avons choisi de développer est un lecteur de flux RSS. Really Simple Syndication ou RSS est une technologie de diffusion d informations. Il s agit simplement d un fichier au format XML disponible sur le web et contenant des news, qui peut être lu par un logiciel appelé agrégateur. Notre application est donc un agrégateur de flux RSS. 1.3.1 Fonctionnalités Cette application devra être capable de : télécharger des flux à partir de leur adresse web, les stocker sur l appareil les mettre à jour, les supprimer, afficher la liste des news pour un flux donné, afficher une news données, pouvoir accéder au site ayant édité la news. 2

CHAPITRE 1. PRÉSENTATION DU PROJET 1.4 Les outils utilisés Lors de ce projet nous avons utilisé les langages Java pour la partie SDK et C/C++ pour la partie NDK. De plus nous avons développé ce projet en utilisant Eclipse et les plugins Android pour Eclipse ainsi que les outils des deux kits comme l émulateur de terminal Android. Ne possédant pas de smartphone ou de tablette sous Android, ce dernier nous a été très utile. Enfin nous avons utilisé SVN pour la gestion de versions, permettant plus facilement de travailler en équipe. Notre dépôt est hébergé sur le site Source Forge ou vous pouvez trouver les sources du projet, ainsi qu une archive.apk contenant l application directement installable sur un terminal Android. Le lien est à la fin du rapport. 3

2. Déroulement du projet Nous avions prévu de développer en parallèle l application avec les deux kits. L idée était donc de coder une fonctionnalité avec le SDK puis d implémenter la même fonctionnalité en NDK. De plus, nous avons décidé de répartir le travail de sorte que la même personne implémente la même fonctionnalité avec les deux kits pour pouvoir comparer de manière plus pertinente. Nous avons donc commencés à nous auto-former à ces technologies et nous nous sommes rendus compte que le SDK était assez difficile à prendre en main. Nous nous sommes aussi rendu compte que le NDK était d autant plus dur à utiliser que très peu de documentation, d informations et du tutoriels étaient disponibles sur internet. Nous avons du coup décidés de nous concentrer, dans un premier temps, sur le SDK. Nous avons commencés par définir les grandes lignes du projet ainsi que l architecture de l application pour pouvoir se répartir le travail. Matthias, s est occupé de l activité affichant la liste des flux disponibles et de celle permettant d ajouter un flux. Il a aussi implémenté la partie téléchargeant le flux et son stockage. Cyril à réalisé l affichage des nouvelles pour un flux et l affichage d une nouvelle. Il à aussi implémenté le parseur de fichiers XML et le stockage des informations extraites. 4

3. Résultats obtenus 3.1 L application Nous avons développés un lecteur de flux RSS fonctionnel avec le SDK. Il est capable de télécharger et de stocker différents flux, de les afficher et des renvoyer vers le site ayant édité les news. On peux ajouter un flux à partir de son adresse et le supprimer. De plus l application est traduite en français. Si le projet était poursuivi, on pourrait imaginer quelques fonctionnalités supplémentaires comme la mise à jour d un flux, l édition de l adresse d un flux ou l affichage du nombre de news non lues. 3.2 SDK vs NDK Le SDK est le kit principal de développement sous Android. Il est un peu difficile à prendre en main à cause de certains concepts comme les Intents mais il est aussi bien documenté et beaucoup d exemples sont facilement trouvable sur internet. Il se révèle donc facile à utiliser et puissant. Le NDK quant à lui repose sur la JNI qui permet de faire côtoyer du code Java avec du code C/C++. Cependant ces deux technologies sont plutôt mal documentées et sont du coup très difficiles à utiliser. De plus pour utiliser JNI il faut utiliser beaucoup de conversion de type. Il est au final à n utiliser que pour des cas bien spécifiques : pour des calculs nécessitant de meilleures performances que le Java peut offrir. pour du code ayant peu de liens avec la partie Java (à cause des conversions de type et de la difficulté de lancer des fonctions Java depuis le C/C++. pour du code permettant d utiliser des API bas niveau comme Open Gl. 5

Liens Lien du dépôt Source Forge : https://sourceforge.net/projects/rssoid/ 6