Initiation à la Programmation Mobile, Java et Eclipse Mobile

Initiation à la Programmation Mobile, Java et Eclipse

I. Programmation Mobile

Les appareils mobiles évoluent rapidement : ils deviennent de plus en plus petits et intelligents, tandis que les systèmes d’exploitation et les modèles se multiplient. Plusieurs approches permettent de développer des applications mobiles :

  • Développement de sites web mobiles : indépendants des sites traditionnels ou exploitant leurs données ou leur CMS.
  • Développement d’applications natives pour divers systèmes d’exploitation :
    • iOS
    • Blackberry OS
    • Android
    • Windows Phone 7
  • Développement d’applications en HTML5 pour les systèmes basés sur Webkit.

Les fonctionnalités populaires sur les plateformes mobiles incluent :

  • La géolocalisation de l’utilisateur
  • Le partage d’informations avec les utilisateurs à proximité
  • L’intégration avec les plateformes sociales
  • La reconnaissance des images prises avec la caméra

Critères à considérer lors du développement mobile

Pour concevoir des applications mobiles efficaces, il faut prendre en compte :

  • Un écran très petit
  • L’absence de clavier/souris physique (clavier virtuel difficile à manipuler)
  • Une taille de stockage souvent réduite
  • Le fonctionnement sur batterie (optimisation de la consommation énergétique)

Parts de marché des systèmes mobiles

Voici les principaux systèmes d’exploitation mobiles et leurs caractéristiques :

OS Téléphone/Société Langage Remarques
iOS iPhone C / Objective-C ou HTML Outil de développement : Cocoa Framework (UIKit)
Android Google Java (portable, open source, gratuit) Plugin Eclipse (ADT) ou NDK (code natif en C)
Tizen Intel / Samsung HTML5 / Linux
Windows Mobile Windows Phone C# / C++ Applications tournent sur une version allégée de .NET
Blackberry OS Blackberry / RIM Java / SDK pour le web
WebOS Palm puis HP HTML5 / JavaScript / CSS C/C++ (bientôt abandonné)
Symbian Nokia C++ / J2ME / Python / Ruby / Flash / HTML5 Bientôt abandonné, progressivement remplacé par Windows Phone

Outils de développement pour les applications mobiles

Certains outils permettent de faciliter le développement d’applications mobiles :

  • Titanium : Interface de développement pour Android ou les applications locales, avec son propre SDK et accès aux APIs du système.
  • Unity3D : Plateforme spécialisée pour les jeux, programmée en JavaScript ou C# (compilé en langage natif pour les mobiles).
  • MonoTouch : Version du framework Mono pour iPhone et iPad, permettant de compiler des applications en C# pour les mobiles (non distribuées sur l’App Store).

La plateforme universelle : HTML5

HTML5 est une solution universelle pour les applications mobiles, fonctionnant sur tous les systèmes sans adaptation du code. Cependant, cette approche présente des limitations. Nokia propose un outil de développement pour des applications mobiles sans code natif.

II. Environnement de Développement : Eclipse

Eclipse est un environnement de développement intégré (IDE) libre, extensible et universel. Il permet de créer des projets en utilisant divers langages de programmation grâce à son architecture basée sur des plugins (conforme à la norme OSGi). Eclipse IDE est principalement écrit en Java et utilise la bibliothèque graphique SWT d’IBM.

Plusieurs logiciels commerciaux reposent sur Eclipse, comme IBM Lotus Notes 8, IBM Symphony ou WebSphere Studio Application Developer.

III. Initiation à Java

Java est un langage de programmation orienté objet créé par James Gosling et Patrick Naughton chez Sun Microsystems, officiellement présenté le 23 mai 1995.

1. Cas d’étude : Gestion des cours

Pour illustrer les concepts de base de Java, nous allons créer une application de gestion des cours. Cette application permet de gérer l’affectation des étudiants et enseignants à une ou plusieurs matières.

TAF-1 : Création du projet

Créer un projet nommé GestionCours sur Eclipse. Dans le répertoire src, créer deux packages :

  • cours : pour les classes liées aux cours
  • main : pour la classe principale

Dans le package main, créer une classe Main contenant une méthode main vide.

2. Classes et objets

Une classe représente la description informatique d’un objet abstrait. Elle définit ses attributs et ses méthodes.

Exemple :

class Vehicule {
    int age;
    float taille;
    float poids;
    boolean moteur;

    int getWeight() {
        return poids;
    }
}

Un objet est une instance d’une classe, créée avec l’opérateur new :

Vehicule v = new Vehicule();

Conventions de nommage :

  • Les classes commencent par une majuscule, tandis que les autres identifiants (objets, méthodes, variables) commencent par une minuscule.
  • Les mots composés sont collés avec une majuscule pour chaque nouveau mot (ex. : NomDeClasse, nomDeLObjet).

Un constructeur est une méthode spéciale appelée lors de la création d’un objet. Il initialise les attributs et ne possède pas de type de retour.

class Vehicule {
    int age;
    float taille;
    float poids;
    boolean moteur;

    Vehicule() {
        age = 0;
        taille = 0.0F;
        poids = 0.0F;
        moteur = false;
    }

    int getWeight() {
        return poids;
    }
}

Il est possible de définir plusieurs constructeurs, dont un par défaut et d’autres avec paramètres.

class Vehicule {
    int age;
    float taille;
    float poids;
    boolean moteur;

    Vehicule(int a, float t, float p, boolean m) {
        age = a;
        taille = t;
        poids = p;
        moteur = m;
    }
    // ...
}

Vehicule v = new Vehicule(2, 4.6F, 1.5F, true);

TAF-2 : Création des classes Etudiant, Enseignant et Matiere

Sous le package cours, créer les classes Etudiant, Enseignant et Matiere en respectant les constructeurs définis dans le diagramme de classes. Les autres méthodes restent vides pour l’instant.

3. Encapsulation

L’encapsulation permet de limiter l’accès aux attributs et méthodes d’une classe. Les modificateurs de visibilité sont :

  • public : accessible partout
  • protected : accessible depuis la classe et ses sous-classes
  • private : accessible uniquement depuis la classe

Exemple :

public class Vehicule {
    public float age;
    protected float taille;
    private int poids;
    private boolean moteur;

    public Vehicule() {
        age = 1.0F;
        taille = 1.0F;
        poids = 1;
        moteur = false;
    }

    public int getWeight() {
        return poids;
    }
}

Les classes doivent être déclarées public pour être access

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne