PHPSymfony - Blog par un programmeur pour les programmeurs

To content | To menu | To search

Tuesday, December 20 2011

[Java] Débuter avec le développement Android

Ayant reçu un Samsung GALAXY S II (en remplacement de mon HTC Touch HD qui a rendu l’âme), j'ai tout de suite accroché au système des applications disponibles sur l'Android Market. Pour aller plus loin que la simple utilisation, J'ai voulu regarder comment créer une application sous Android.

Comme le veux la coutume, impossible de passer à coté de l'éternel "Hello World" quand on débute avec une nouvelle technologie. Voici les différentes étapes que j'ai suivi pour faire fonctionner mon application sous Windows : 

Installation

Tout d'abord, vous devez vous assurer d'avoir le JDK. Vous pourrez le télécharger ici : http://www.oracle.com/technetwork/java/javase/downloads/index.html

Sélectionnez la version qui correspond à votre OS.

Ensuite, vous devrez télécharger le SDK Android ici : http://developer.android.com/sdk/index.html

Pour simplifier l'utilisation du SDK en ligne de commande, nous allons renseigner le chemin vers le répertoire tools du SDK dans le PATH. Sous Windows 7, démarrer > rechercher "paramètres systèmes avancés". Cliquer sur le bouton "Variables d'environnement". Puis, dans la variables système, changer la valeur de la variable PATH pour y ajouter le path vers le dossier tools du SDK.

Configuration

Dans notre cas, nous considérerons l'utilisation de l'IDE Eclipse. Pour installer les plugins nécessaire, il faut suivre la documentation ici : http://developer.android.com/sdk/eclipse-adt.html#downloading

Notre environnement est désormais prêt et nous allons pouvoir créer l'application;

Commencez par créer un nouveau projet Android dans eclipse. Un Clic droit dans le package explorer puis sélectionnez "New" puis "Project ...".

Sélectionnez "Android Project" puis Next.

Choisissez un nom au projet, nous l'appellerons "HelloAndroid". Pour le reste de cet écran, le paramétrage par défaut est suffisant. Cliquez sur "Next".

Choisissez ensuite le SDK Android dans la liste. On prendra pour cet example la version 2.3.3. Cliquez ensuite sur "Next".

Enfin, choisissez un nom pour le package "HelloWorldAndroid" puis "Finish"

Dans le dernier écran, vous devrez remplir les champs :

  1. Application name : nom de l'application. Dans notre exemple nous utiliserons "Hello Android"
  2. Pckage name : il s'agit du namespace du package. Dans notre exemple, nous utiliserons "com.example.helloandroid". Veuillez à bien respecter les règles de nommage de package java. Sinon, vous pourrez rencontrer l'erreur "Aplication package XXX must have a minimum of 2 segments"
  3. Create Activity : laissez cette case cochée. Cela va permettre la génération d'une classe étendue de Activity sur laquelle nous allons travailler.

Cliquez sur "Finish".

Le système va ensuite générer le projet.

Dans src/com.example.helloandroid/HelloAndroid.java remplacez le code par  :

package com.example.helloandroid;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView tv = new TextView(this);
        tv.setText("Hello, Android");
        setContentView(tv);

    }
}

Astuce : sous eclipse, vous pouvez faire Ctrl Shift O pour importer les packages manquants.

Comme vous vous en doutez, l'idée est d'afficher "Hello, Android" sur l'écran.

Nous allons maintenant tester notre développement. Pour cela, nous allons utiliser un AVD.

Créer un AVD

AVD (pour Android Virtual Device) est un émulateur qui vous permet de choisir un type d'appareil compatible et de le configurer afin de tester votre application.
Nous allons donc créer un AVD pour vérifier que notre application fonctionne bien.

Pour créer un AVD, il faut commencer par installer de nouveaux packages.
Lancer l'utilitaire "SDK Manager" en tant qu'administrateur.
Puis cocher les packages correspondant aux différentes versions que vous souhaitez installer. Veuillez à bien sélectionner le SDK Android 2.3.3 car c'est celui ci que nous utiliserons pour tester notre application Hello world.

Cliquez ensuite sur "Install"
Notez l'emplacement du téléchargement.

Il faudra ensuite enregistrer le bon path pour les SDK dans eclipse. Pour cela, dans eclipse, allez dans Window > Preference > Android.

Hebergement gratuit d'image et photo


Ensuite, cliquez sur Window > AVD Manager
Cliquez sur "New ...". Le système affiche une nouvelle fenêtre vous permettant de configurer votre AVD
  1. name (obligatoire) : nom de l'AVD.
  2. target (obligatoire) : version du SDK d'android. Sélectionnez 2.3.3

Pour le reste, le paramétrage par défaut est suffisant.


Tester l'application


Tester l'application est très simple. Sous eclipse, cliquez sur le projet à tester, puis Run > Run.
Sélectionnez "Android application"
Sélectionner une source de capture pour la vidéo, puis OK.

Le système va lancer le programme dans l'émulateur. Un peu de patience, cela peut prendre du temps...

Vous obtenez alors le tant attendu "Hello, Android" !

Hebergement gratuit d'image et photo


Sources :
http://ydisanto.developpez.com/tutoriels/android/debuter/
http://developer.android.com/resources/tutorials/hello-world.html

Thursday, January 28 2010

[JAVA] Affichage des évènements d'une semaine basé sur un export de Google Calendar

Comme promis dans un billet précédent, voici le programme qui permet d'afficher les évènements d'un export de Google Calendar.
Il affiche tous les évènements d'une semaine de référence. 

Le programme est actuellement en v1.0.
Il prend en paramètre :
 - le chemin vers le fichier .ics
 - le début de la semaine de référence au format AAAAMMDD

Pour le lancer :

java -jar calendarAnalyser.jar path/to/calendar/file 20100128

Pour la petite histoire, j'ai développé ce programme car mon employeur actuel, Sensio Labs, demande à chaque développeur de remplir un Google Calendar en fonction des activités effectuées. Le vendredi soir, nous devons envoyer par mail un récapitulatif de tout ce qui a été fait dans la semaine.

Télécharger le jar
Télécharger les sources

Corrections du 01/03/2010
 - Correction du bug de classement des évènements dans une même journée
 - Correction du bug qui affichait les évènements de J+7

Tuesday, January 12 2010

JAVA - Ouverture et lecture d'un fichier

Comme je le disais dans le premier post de ce blog, je vais mettre également quelques bouts de code de JAVA.

Le premier morceau de code que je propose est ultra basique : c'est une simple ouverture et lecture de fichier.

public class CalendarFile
{

    public String path;
    public BufferedReader reader;
   
    //constructor opens file
    public CalendarFile(String filename) throws IOException
    {
        this.reader = new BufferedReader(new FileReader(filename));
    }
   
    public void printContent() throws IOException
    {
        String ligne = null;
       
        while ((ligne = this.reader.readLine()) != null)
              System.out.println(ligne);
    }
}


Et dans votre méthode main :

public static void main(String[] args)
{
        // TODO Auto-generated method stub
        String filename = "C:\Users\guigui\workspace\RemiseEnForme\calendar.ics";
        try
        {
            CalendarFile calendar = new CalendarFile(filename);
            calendar.printContent();
        }
        catch (IOException e)
        {
            System.out.println("An error occured while opening the file");
        }
}



Vous aurez surement remarqué le nom de la classe : CalendarFile.
En fait, je fais un programme en JAVA qui va permettre de récupérer les données d'un export de google calendar.
J'ajouterai un nouveau post lorsque le programme sera fini.