Site personnel de Thibault Koprowski

Thibault

Thibault

Thibault's RSS Feed

(37 comments, 29 posts)

This user hasn't shared any profile information

Home page: http://thibault-koprowski.fr

Posts by Thibault

Le parc Android évolue et les versions 2.x deviennent majoritaires

1 year ago by Thibault in (0 comments)

Google nous apprend que son système d’exploitation mobile commence à retrouver une certaine homogénéité au niveau du parc en activité.
En effet, on a souvent reproché à Android de lancer de trop nombreuses nouvelles versions à un rythme soutenu, tandis que constructeurs et opérateurs ont souvent du mal à proposer des mises à jour vers ces nouvelles versions dans des délais raisonnables.

Résultat, le parc Android est sans doute le plus fragmenté dans le domaine des smartphones, ce qui commence toutefois à se tasser. Ainsi les versions estampillés 2.x d’Android sont de plus en plus nombreuses, facilitant le travail des éditeurs d’applications. Selon les données de Google, les smartphones sous Android 2.x représentent désormais plus de 70% du parc actif total. La version 2.1 reste la plus utilisée (41,7%), tandis que la 2.2 suit (28%). En juillet, la 2.2 ne concernait que 5% des utilisateurs d’un smartphone Android.

(Source: http://www.pcworld.fr)

rapport gartner

Android, n° 2 mondial des OS mobiles en 2010, selon Gartner

1 year ago by Thibault in (0 comments)

Voici une bonne nouvelle pour les développeurs !!! Gartner nous annonce que le système d’exploitation (OS) pour mobiles de Google occupera la deuxième placemondiale à la fin de l’année 2010, avec une part de marché de 17,7 %, derrière Symbian (40,1 %), sur un marché total de 268 millions d’appareils (voir la capture).

Le soutien de la plupart des grands constructeurs (Samsung, LG, Sony Ericsson, HTC, Motorola…) explique surement ce succès d’Android, dévoilé il y a moins de trois ans.

Etes-vous d’accord avec cette étude ou pensez vous que les choses peuvent changer ?

Tutoriel Android n° 4: Effectuer des requêtes HTTP

1 year ago by Thibault in (18 comments)

Dans la suite des mes tutoriels je vais désormais plus expliquer des techniques ou astuces que j’utilise au quotidien lors de mes projets. Cependant si vous désirez un tutoriel sur un thème bien précis, n’hésitez pas à me contacter pour me demander.

Je vais donc vous expliquer comment effectuer une requête http vers un serveur puis récupérer un résultat.

Pour cela nous allons utiliser le code suivant:

public void postData() {
    // On créé un client http
    HttpClient httpclient = new DefaultHttpClient();
    // On créé notre entête
    HttpPost httppost = new HttpPost("http://www.tonsite.com/script.php");

    try {
        // On ajoute nos données dans une liste
        List nameValuePairs = new ArrayList(2);

        // On ajoute nos valeurs ici un identifiant et un message
        nameValuePairs.add(new BasicNameValuePair("id", "567"));
        nameValuePairs.add(new BasicNameValuePair("message", "Android c'est coo!!!"));

        // Ajoute la liste à notre entête
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // On exécute la requête tout en récupérant la réponse
        HttpResponse response = httpclient.execute(httppost);

        // On peut maintenant afficher la réponse
        Log.e("http réponse",response.toString());

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }
}

Et voila vous pouvez donc maintenant récupérer les valeurs dans votre script PHP avec le code suivant:

<?php
    echo("id: ".$_POST['id']." data: ".$_POST['data']);
?>

J’espère que cela vous sera utile! ;)

capture_nouveau_projet_android

Tutoriel Android n° 3: Le fameux Hello world !

1 year ago by Thibault in (1 comment)

Passons aux choses sérieuses ! :D

Commençons par créer un nouveau projet Android dans Eclipse:

File -> new -> Android project ou sur l’icône surlignée ci-dessous

Vous obtenez cet écran:

Ensuite remplissez les champs comme ceci:

  • Project name: HelloAndroid
  • Application name: Hello, Android
  • Package name: com.exemple.helloAndroid (ou votre propre namespace)
  • Create Activity: HelloAndroid
  • Min SDK Version: 3
  • Cliquez sur Finish.

Voici en détail ce que sont ces données:

Project Name
C’est le nom du projet dans Eclipse mais aussi le nom du dossier où seront contenus les fichiers du projet.
Application Name
C’est le nom de l’application qui apparaîtra dans le téléphone.
Package Name
C’est le nom du package principal (Selon les même règles que les packages en java). Cela vous permet d’organiser les classes de votre projet. Ce package sera celui où se trouvera l’activité par défaut.
Create Activity
C’est le nom de l’activité par défaut qui sera générée par le plugin.
Cela sera une sous-classe de Activity. Nous reviendrons un peu plus tard sur les activités.
Min SDK Version
Cette valeur spécifie la version minimale d’Android que devra avoir le téléphone pour exécuter l’application.

Voilà vous avez créé votre premier projet Android :D !

Nous allons maintenant parler de la hiérarchie des fichiers d’un projet Android.

Nous avons cette hiérarchie:

Nous allons détailler un peu tout ça:

src: ce dossier contient toutes les classes du projet. Ainsi on y retrouvera tous les packages et fichiers .java. Nous y trouvons aussi le fichier HelloAndroid.java qui n’est autre que notre activité par défaut qui sera lancée au démarrage de l’application.

gen: Ce dossier contient le fichier R.java. Ce fichier renferme des données qui seront chargées sur le mobile lors de la compilation de votre projet. Les données incluses dans ce dossier sont par exemple, des fichiers texte décrivant la licence de votre application, des fichiers audio ou vidéo, etc.

res: Ce dossier regroupe l’ensemble des fichiers ressources du projet. C’est ce dossier qui est utilisé par ADT pour créer le fichier R.java. Ce dossier contient lui même des sous dossiers regroupant les fichier ressource par type.
Ces dossiers sont:

  • drawable : regroupera l’ensemble de vos images (png, jpg, gif).
  • layout : Android permet de définir les interfaces dans des fichiers XML. (Comme en .net avec le XAML). Nous verrons ceci un peu plus loin. Ce dossier contient donc l’ensemble des fichiers xml décrivant les interfaces.
  • values : ce dossier contient également un ensemble de fichiers xml stockant les valeurs utilisées par votre application.
    On peut, par exemple, y mémoriser des chaines de caractères (strings.xml), des tableaux (arrays.xml), des couleurs, des dimensions, etc…

Pour finir, tout projet Android contient un fichier nommé AndroidManifest.xml qui définit la configuration de votre application au système Android. Ce fichier définit par exemple, le nom, l’icone (par défaut drawable/icon.png), la version minimale du système nécessaire à l’exécution de l’application, les activités, les services, etc. de votre application.

Passons maintenant à notre classe HelloAndroid.java:

package com.exemple.helloAndroid;

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

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);
    }
}

Celle-ci définit une activité. Une activité correspond à un écran. Si une application se compose de plusieurs écrans, elle a une activité pour chaque écran. Chaque activité est une classe qui étend la classe de base Activity. Elle dispose d’une interface utilisateur graphique faite de vues (views) et elle répond à des évènements (events). Quand on change d’écran, on lance une nouvelle activité. Celle-ci peut retourner une valeur. Par exemple, si une activité permet de choisir quelque chose, un texte, une image, elle retourne ce qu’elle a choisi.

Nous allons la modifier pour pouvoir afficher notre petit message:

Commençons par modifier le fichier layout situé dans res -> layout -> main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
  <TextView
    android:id="@+id/tv_message"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text=""
  />
</LinearLayout>

Ensuite on passe à la classe HelloAndroid:

package com.exemple.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);
                // Nous alllons chercher notre composant Textview via son ID puis nous lui
                // fixons le texte
		((TextView)findViewById(R.id.tv_message)).setText("Hello World !");
                // Nous aurions pu faire ainsi en stockant la référence du composant:
                /*
                TextView tv = (TextView)findViewById(R.id.tv_message);
                tv.setText("Hello World !");
                */
	}
}

Et voilà nous avons notre message.

Mais ceci est trop courant ;) . Nous allons ainsi rajouter une image à ce texte.

Voici le nouveau main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
>

    <ImageView
        android:src="@drawable/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
    />

    <TextView
        android:id="@+id/tv_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:layout_gravity="center"
    />

</LinearLayout>

Et voilà ! C’est quand même plus joli avec des couleurs ! :D

Nous allons maintenant afficher le texte suite à un click sur un bouton.

Voici le nouveau code:

Le ficher layout:

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
>

    <ImageView
        android:src="@drawable/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
    />
    <TextView
        android:id="@+id/tv_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:layout_gravity="center"
    />
    <Button
        android:id="@+id/bt_afficher_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Afficher le message"
        android:layout_gravity="center"
    />

</LinearLayout>

La nouvelle classe:

package com.exemple.helloAndroid;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
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);
            // On associe l'évènement au bouton
            (findViewById(R.id.bt_afficher_message)).setOnClickListener(bt_click);
	}

	// On créé un évènement
	public Button.OnClickListener bt_click = new Button.OnClickListener(){

		@Override
		public void onClick(View v) {
			((TextView)findViewById(R.id.tv_message)).setText("Hello World !");
		}

	};
}

A bientôt dans un prochain tutoriel ! ;)

capture_installation_emulator

Tutoriel Android n° 2: Installation d’un émulateur Android

1 year ago by Thibault in (0 comments)

Bien ! Nous avons installé Eclipse et le SDK Android. Maintenant, nous voulons tester notre code, c’est la moindre des choses. Pour cela, ouvrez le dossier d’installation du SDK et cliquez sur SDK Setup.exe.

Vous obtenez la fenêtre ci-dessous:

Si vous avez l’erreur suivante: Failed to fetch URL https://dl-ssl.google.com/android/repository/repository.xml, reason: HTTPS SSL error. You might want to force download through HTTP in the settings.

  • Cliquez sur Settings
  • Cochez la case: Force https:// … sources to be fetched using http://

probleme

Dans available packages vous pouvez sélectionner les versions de SDK que vous voulez installer, des exemples de code source très utiles pour commencer à développer. Vous avez aussi les drivers permettant de communiquer avec le téléphone en mode debug.

Nous allons installer le SDK 2.2.

  • Sélectionnez donc celui-ci et les packages d’exemples que vous désirez utiliser
  • Cliquez sur Install selected
  • Acceptez la licence après  l’avoir lue bien entendu ;)
  • Le SDK se télécharge puis s’installe
  • Cliquez sur Close

En sélectionnant une version de SDK vous installez aussi l’émulateur correspondant.

Nous voici à la fin du deuxième tutoriel. Dans le prochain tutoriel nous coderons notre premier projet pour afficher Hello world !.

android

Tutoriel Android n° 1: Installation des pré-requis pour développer sur Android

1 year ago by Thibault in (0 comments)

Vous êtes surement pressés de développer sur Android mais cependant il y a une phase d’installation des pré-requis à passer.
Je vous propose un petit tutoriel vous permettant de faire cela simplement. ;)

Mais avant toutes choses, téléchargeons tous les fichiers nécessaires:

1- Téléchargement des fichiers

Nous aurons besoin d’un IDE Integrated Development Environment (Environnement de Développement Intégré).
Pour développer sur Android, il nous faut Eclipse.

Ensuite nous aurons besoin du  SDK Android qui contiendra tout ce qu’il nous faut pour développer.

2- Installation des fichiers

2.1 Le SDK Android

Tous d’abord, occupons nous du SDK Android:

  • Dézippez les fichiers dans le dossier de votre choix (pour des soucis de simplicité, dans toute la suite du tutoriel j’utiliserai le path suivant: c:\android-SDK)
  • Ensuite nous allons ajouter une valeur à la variable d’environement Path. Ceci vous permettra d’utiliser les outils du toolkit sans avoir à spécifier leur chemin complet à chaque fois.
    Pour ce faire, faites un clic droit sur Ordinateur (Poste de travail sous Windows XP)
    Cliquez sur Paramètres système avancés puis sur variables d’environnement.
    Cherchez la variable Path. Une fois trouvée, ajoutez lui le chemin du dossier où vous avez extrait le SDK Android suivi d’un point virgule.

capture installation sdk android

C’en est fini de l’installation du SDK. Passons maintenant à Eclipse !

2.2 Eclipse

Occupons nous tout d’abord d’Eclipse, dézippez l’archive où vous le voulez (par exemple: c:\program files\eclipse).
Ensuite exécutez Eclipse en cliquant sur eclipse.exe.

Le plug-in ADT (Android Developpment tools)

  • Une fois Eclipse ouvert, allez dans le menu Help > Software Updates > Find and Install…
  • Dans la boîte de dialogue, choisissez Search for new features to install et cliquez sur Next.
  • Appuyez sur le bouton New Remote Site.
  • Entrez un nom (par exemple Android) et saisissez cette url : “https://dl-ssl.google.com/android/eclipse/”.
    Appuyez sur OK. Si cela ne marche pas au lieu de mettre https//, mettez http://.

  • Appuyez sur Finish.
  • Sélectionnez Android Plugin > Eclipse Integration > Android Development Tools et appuyez sur Next.
  • Sélectionnez le bouton I accept the terms in the license agreement et cliquez sur Next. Puis Finish.
  • Eclipse va télécharger le plugin.
  • Sur la fenêtre qui apparait, cliquez sur le bouton Install All.

A la fin de l’installation vous devrez redémarrer Eclipse.

Il vous faudra ensuite donner le chemin du SDK Android à Eclipse.

  • Allez dans le menu Window > Preferences…
  • Choisissez Android dans le menu de gauche.
  • Cliquez sur Browse… et pointez le répertoire où vous avez installé le SDK dans la première étape (C:\Android\android_sdk).
  • Appuyez sur OK.

Vous avez donc maintenant tout paramétré pour pouvoir enfin coder dans de bonnes conditions ! :)

Dans le prochain tutoriel, je vous présenterai comment configurer un émulateur.
A tout de suite !

Go to Top