Google : bien déterminé à voler la vedette à l’Ipad d’Apple !
Google : bien déterminé à voler la vedette à l’Ipad d’Apple !
plus d’infos ici
(37 comments, 29 posts)
This user hasn't shared any profile information
Home page: http://thibault-koprowski.fr
Google : bien déterminé à voler la vedette à l’Ipad d’Apple !
plus d’infos ici
Encore des bonnes nouvelles pour Google, sur trois mois, la plate-forme a gagné 5 points de parts de marché alors que tous ses concurrents sont à la baisse. Ces chiffres confirment ce que nous annonce Gartner !
Plus de détails ici
Le nouvel observateur nous annonce que HTC devrait lancer début 2011 une tablette sous Android 3.0, probablement en coopération avec des opérateurs téléphoniques. Le constructeur de smartphone concurrencerait alors un autre Taïwanais, Acer, qui prévoit trois tablettes du même type.
Petit apperçu:

plus de déails ici
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)
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 ?
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!
Passons aux choses sérieuses !
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:
Voici en détail ce que sont ces données:
Voilà vous avez créé votre premier projet Android
!
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:
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 !
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 !
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.
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.
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 !.
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:
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)
A la fin de l’installation vous devrez redémarrer Eclipse.
Il vous faudra ensuite donner le chemin du SDK Android à Eclipse.
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 !