Liste de partage de Grorico
Free crée avec sa Freebox HD un réseau qui n'est pas Internet, et qui constitue selon lui le coeur de son offre. Internet n'étant plus qu'un accessoire subventionné par les services non soumis au respect de la neutralité du net.
[Lire la suite]En fouillant de vieux numéros de Science et Vie, je tombe sur cet article issu du numéro 494 (novembre 1958) de la célèbre revue de vulgarisation scientifique.
En introduction, l’article raconte comment les services secrets soviétiques et le FBI se sont intéressés à la nouvelle Deadline, de Cleve Cartmill, publiée dans Astounding Science Fiction en mars 1944, nouvelle qui décrivait avec une grande précision le fonctionnement et les effets d’une bombe atomique, et ce plus d’un an avant l’essai Trinity dans le Nouveau-Mexique — la première explosion nucléaire de l’histoire. Murray Leinster, qui écrivait pour la revue, a été interrogé par trois agents du FBI à ce sujet. On se souviendra que deux ans plus tard exactement, et toujours dans Astounding Science Fiction, le même Murray Leinster a inventé le principe même de l’ordinateur personnel avec la nouvelle A logic named Joe.
Isaac Asimov, Robert Heinlein, l’illustrateur Paul Orban et le directeur de publication John Campbell ont eux aussi été interrogés. Cambell est parvenu à convaincre les autorités de ne pas saisir la revue : « afin de ne pas attirer l’attention des agents ennemis ».
La suite de cet article assez long est une défense argumentée de la science-fiction, qui est qualifiée de « prodigieux bouillon de culture à idées révolutionnaires » et « d’exploration systématique du possible » dont les auteurs sont souvent « d’authentiques savants » (Isaac Asimov est cité, comme de nombreux autres auteurs, mais aussi Norbert Wiener ou Werner Von Braun, ce qui est à mon sens un peu abusif, aucun des deux n’étant célèbre pour ses (rares) pages de science-fiction).
L’article insiste à plusieurs reprises sur les problèmes spécifiques de la France en matière de réception ou de production de science-fiction : les esprits fins considèrent que le genre est infantile et l’article désigne Jules Verne comme fautif. On précise cependant que cela ne concerne que la fiction et qu’il y a « énormément de science-fiction chez Henri Poincaré ou Teilhard de Chardin ». Cet accablement vis-à-vis du rapport entre la France et la science-fiction reste un motif très courant aujourd’hui parmi les amateurs du genre, cinquante-deux ans plus tard.
De nombreux exemples d’inventions de fiction devenues réalité sont mentionnées : l’énergie atomique dès 1909, la bombe atomique depuis 1928, etc. La palme de l’intuition prospective semble revenir au roman Ralph 124C 41+
du luxembourgo-américain Hugo Gernsback, connu pour avoir forgé le terme « science-fiction », qui prévoyait en 1911 le radar, la télévision (et son nom), le nylon, le plastique, la lumière fluorescente, le microfilm et le jukebox.
On apprend par ailleurs que les Américains se procuraient des livres de science-fiction soviétique malgré le rideau de fer et, qu’avant-guerre, l’Allemagne disposait d’un compte bancaire britannique exclusivement réservé à l’acquisition de revues et de romans de fiction spéculative anglo-saxonne.
L’article cite Theodore Sturgeon à propos de la manière dont la science-fiction est exploitée dans le « monde réel » :
« Ils nous pillent, mais seulement les armes. Quand nous leur proposons des solutions inédites à la guerre et aux calamités, ça ne les intéresse pas ».
L’auteur du papier est Aimé Michel, qui crédite Jacques Bergier pour sa documentation. Aimé Michel, décédé il y a une vingtaine d’années, était un passionné d’ufologie. Il a notamment collaboré avec la revue Planète, précisément fondée par Pierre Bergier et où les frontières entre l’imaginaire et la science étaient plus que floues.
—
Billet initialement publié sur Le dernier blog ; image CC Flickr x-ray delta one
Un pas de géant a encore été franchi aujourd’hui, le cap est connu, c’est toujours le même. L’ARJEL ou autorité des jeux en ligne est l’une des Hautes Autorités chéries du législteur, celle ci vise à faire la chasse aux « pirates » (oui il y a une certaines constance là aussi), ou plus exactement aux sites de jeux qui n’ont pas reçu l’agrément… une sorte de lettre de cachet frappée du sceau de la haute autorité qui vous autorise à percevoir dîme en sol numérique françois.
Comme il est de notoriété publique que tous les pédonazicommunistes jouent au poker sur des serveurs situés sur l’île de Malte (dans la baie juste à côté de celle rapatriée en France par le groupe Bolloré 3 mois avant que la loi sur les jeux en ligne ne passe devant le parlement…), on a décidé d’appliquer au sites de jeux qui mouillent en eaux hostiles au portefeuille des copains, le traitement qu’on avait juré qu’on appliquerait uniquement contre les cellules terroristes d’Al-Qaïda et les frameux pédonazicommunistes… le blocage des sites. Depuis l’ARJEL, les joueurs en ligne pestent, ils ne peuvent se mesurer à des joueurs étrangers, les joueurs sont coupés du monde, ils évoluent dans une sorte de casino online pékinois.
Jouer sur des sites dissidents (ou plutôt des sites qui font de la concurrence trop visible à notre fière et belle industrie du jeux online) fait depuis aujourd’hui, l’objet d’un cadre d’application plus précis, dicté par une décision de justice qui a le mérite d’être claire. La catastrophe tant redoutée est arrivée. On plaque une lame sous la gorge des FAI en leur demandant de filtrer par TOUS les moyens possibles et imaginables. Une astreinte de 10 000 euros par jours pendant un mois sera même appliquée si les fournisseurs d’accès venaient à manquer d’entrain pour engager des frais sans contrepartie, sur décision d’une Haute Autorité, dont le principe est en plus de porter atteinte à l’intégrité et la neutralité d’un réseau de communication vital qu’ils exploitent commercialement et qu’ils construisent. Tout de suite on s’imagine qu’une délicate attention comme celle ci ne va pas passer inaperçue et que quelques lobbyistes de la propriété intellectuelle ne se dérangeront pas pour demander aux FAI le même traitement (à titre gracieux) de 50 000 authentifications quotidiennes sur la base d’adresses ip saisies par les sociétés mandatées par la HADOPI et les ayants droit.
La plainte remonte au mois de juin suite à une saisine en référé, on attendait la décison, elle est donc assez brutale. Un peu comme si on demandait à la police d’arrêter les pickpockets par tous les moyens (y compris de faire feu au milieu d’une foule dans un métro bondé)… et oui la justice sait faire preuve d’une délicatesse extrême, elle nous le prouve ici autorisant implicitement le deep packet inspection et ses techniques dérivées, qui comme on s’en doutait risquent de faire fureur :
- Soit cette décision ne mesure pas ses conséquences,
- Soit les conséquences sont très bien connues car voulues depuis longtemps.
Dans les deux cas c’est une mauvaise nouvelle et Jérémie Zimmerman à bien raison de souligner le caractère catastrophique de la situation. Voici en substance ce qui a été énoncé : Les FAI doivent “mettre en oeuvre ou faire mettre en oeuvre, sans délai, toute mesure propre à empêcher l’accès, à partir du territoire français et/ou par leurs abonnés sur ce territoire, au contenu du service de communication en ligne (Stanjames.com)“ et “prendre toutes mesures de nature à permettre l’arrêt de l’accès au service en cause, soit toute mesure de filtrage, pouvant être obtenu (…) par blocage du nom de domaine, de l’adresse IP connue, de l’URL, ou par analyse du contenu des messages, mises en oeuvre alternativement ou éventuellement concomitamment“.
C’est amusant comme tout cela s’emboite bien… comme prévu. Mais ce qui est magnifique ici, c’est que le blocage des sites est arrivé dans notre législation par le jeux en ligne, et qu’on lui donne du premier coup les moyens de muter en ce qu’il y a de pire. La proportionnalité des moyens, on s’en contre fiche, ce qu’on veut c’est bien la peau du Net.
Ça va être long de tenir jusqu’en 2012 !
Possibly Related Posts:
- Le site du Grand Paris distribue toujours des malwares
- La neutralité du Net s’est jouée à Bercy
- Ecrans publie le rapport gouvernemental sur la Neutralité du Net
- Neutralité du Net : Orange, je te vois !
- Neutralité du Net : la « quasi censure » est préconisée dans le rapport du Gouvernement
J’ai enfin reçu l’invitation pour App Inventor, un nouvel outil en ligne de Google qui permet de créer des applications pour Android façon click n play.
Tout se fait à la souris, de manière graphique, destinant cet outil à des non initiés à la programmation.
Une fois loggé sur App Inventor, j’ai du tout d’abord installer une petite appli (Windows Mac ou Linux) qui permet de faire communiquer l’application web avec le téléphone Android. Pour que App Inventor fonctionne correctement, vous devez avoir un ordinateur équipé au choix de :
- Mac OS X 10.5, 10.6 (Intel)
- Windows XP, Windows Vista, Windows 7
- Ubuntu 8+, Debian 5+
Et de :
- Mozilla Firefox 3.6 ou supérieur
- Apple Safari 5.0 ou supérieur
- Google Chrome 4.0 ou supérieur
- Microsoft Internet Explorer 6 ou supérieur

J’ai dû ensuite configurer mon téléphone pour qu’il accépte la connexion App Inventor. Pour ce faire, il suffit d’aller dans les paramètres et de cocher/décocher les options suivantes :
Dans les réglages d’affichage (Display)

Dans les réglages des Applications (et Applications -> Développement)

Ensuite, une fois dans AppInventor, je me suis amusé à faire le petit hello world proposé en tuto qui explique comment mettre un label, une photo cliquable et une petite musique qui se déclenche lorsqu’on clique sur la photo. Fastoche !
Je crée donc un nouveau projet.
L’interface de AppInventor ressemble beaucoup à certains IDE comme Visual Basic ou Delphi. Vous sélectionnez vos composants, vous les glissez déposez sur la feuille principale puis vous paramétrez leurs options (texte, couleur…etc).
Je place donc mon label, que je le customise

Je place ensuite un bouton que je personnalise en lui spécifiant une image. Bizarrement, le bouton ne prend pas l’apparence de l’image dans AppInventor mais une fois déployée sur le téléphone, c’est le cas. Ne faites donc pas attention à ce bug. Autre petit défaut de jeunesse, je n’ai pas réussi à placer les composants où je le voulais sur la feuille. Pas moyen de centrer un bouton par exemple. Tous les composants se placent les uns à la suite des autres. Je pense que ce petit défaut sera corrigé prochainement.

Même chose avec le son… je place un composant Sound et j’upload un petit Hell.mp3 (Highway to hell, c’est ma sonnerie de portable)

Maintenant que tout est en place, on va coder les actions derrière tout ça. Je clique donc sur le bouton « Open Block Editor » en haut à droite, et mon navigateur me propose de lancer un fichier .jnlp qui est en fait un binaire java. Cet éditeur de blocs permet entre autre de connecter le téléphone à AppInventor.
Je clique sur le bouton « My Blocks » pour voir les éléments que j’ai posé sur ma feuille (label, bouton, son..etc)
Puis en cliquant sur le bouton « Connect to phone », en haut à droite, la connexion s’établit avec le téléphone et vous devriez voir apparaitre en direct votre application sur le téléphone. Ainsi, si vous retournez dans AppInventor et que vous rajoutez un composant comme un label ou un bouton (ou autre), vous devriez le voir apparaitre sur votre téléphone au bout de quelques secondes.
Dans l’éditeur de bloc, c’est ensuite un jeu d’enfant. Il suffit de sélectionner Button1, de le glisser déposer sur la feuille (partie grise), le bloc « When Button1.click do… » puis d’y mettre à l’intérieur le « Call Sound.Play » que vous trouverez dans « Sound1″.
AppInventor n’est pas encore tout à fait au point, car en testant sur l’appli lancé en live sur le téléphone, je ne vois apparaitre aucune photo à la place du bouton, et lorsque je clique sur ce dernier, aucun son ne démarre. Mais en retournant dans AppInventor, et en cliquant sur le bouton « Package for Phone », j’ai eu accès à 3 options.

- La génération d’un QR code qui vous permettra de récupérer votre appli avec un soft comme BarCode Scanner. (pas la peine de tester avec ce code, vous devrez être loggé avec mon compte pour y avoir accès et vous pouvez toujours courir pour avoir mon mot de passe
)
- Le téléchargement de l’application en .apk (pratique pour la donner ensuite aux amis)
- Ou l’installation directe sur le téléphone.

Et là, Ô miracle, j’ai bien mon appli qui fonctionne avec ma tronche et ma musique d’ACDC !

Un jeu d’enfant je vous dis ! Bon rassurez vous, ça ne volera pas le travail des développeurs Android professionnels mais ça permettra à n’importe qui faire des petites applis façon click n play à sa convenance. Au niveau composants, il y a les classiques Bouton, Canvas, Image, Clock, List, Textbox et TinyDB… Mais il y a surtout des composants capables de réagir lors de la réception d’un appel, d’un SMS, de communiquer avec Twitter, d’utiliser le GPS, l’accéléromètre, la boussole, de gérer l’orientation de l’écran ou encore de faire de la reconnaissance vocale ou du scan de code barre. Bref, c’est à découvrir, mais y’a moyen de faire des petites choses sympathiques.
Si vous n’avez pas encore reçu l’invit de Google, patientez encore un peu et si vous n’avez pas encore demandé d’accès, c’est ici qu’il faut s’inscrire : http://appinventor.googlelabs.com
Android, c'est quoi ?
Android est un système d'exploitation Open Source pour smartphones, PDA...etc. Conçu par Google, c'est le principal concurrent de Apple avec son Iphone. Android peut aussi équiper des tablettes tactiles, netbooks...etc. Dans ce tutoriel, nous allons apprendre les bases de la programmation à l'aide du SDK Android, la configuration de l'environnement de développement et la réalisation d'un "Hello World".
Composantes d'une application Android
Voici les composantes de base d'une application Android:
Activities (Activités en Français)
Une activité est la composante principale pour une application Android. L'activité est ce qui représente l'implémentation métier dans une application et une vue au minimum. Par exemple dans une application qui liste des utilisateurs, on pourrait avoir une activité qui liste tous les contacts, une autre pour ajouter un contact et une dernière qui affiche les détails d'un contact. Le tout est un ensemble cohérent, mais chaque partie peut fonctionner indépendamment.
Services
Un service, à la différence d'une activité, ne possède pas d'interface graphique mais permet de dérouler un algorithme sur un temps indéfini. Il s'arrêtera lorsque sa tâche est finie ou que son exécution est arrêtée. Il peut être lancé au démarrage du téléphone (arrivée d'un appel, d'un SMS, mail, etc) ou de votre application, soit au cours d'une action particulière dans votre application via un broadcast receivers.
Broadcast and Intent Receivers
Un Broadcast Receiver permet d'écouter ce qui se passe sur le système ou sur votre application et éventuellement de déclencher une action que vous aurez définie. C'est souvent par ce mécanisme que les services sont lancés.
Les "content providers" servent à accéder à un ensemble de données depuis votre application. Vous pouvez par exemple accéder aux contacts, à l'agenda, aux photos et d'autres données depuis votre application grâce aux content providers. Vous pouvez également définir vos propres content providers pour accéder à vos objets ou pour que d'autres applications utilisent vos données.
Cycle de vie d'une application Android
onCreate
Appelée quand votre première activité est créée. Elle sert à initialiser votre activité. Quand OnCreate est appelée, on lui passe un Bundle qui contient l'état de sauvegarde précédent de l'activité s'il existe.
onStart
Appelée juste avant que votre activité passe en avant plan (ne soit visible à l'écran). Si votre activité ne peut pas aller en avant plan pour n'importe quelle raison, l'activité sera transférée à OnStop, sinon elle passe après à OnResume.
onResume
Appelée après OnStart si votre activité est en avant plan, à ce stade de l'exécution votre activité est en cours d'exécution et l'interaction avec l'utilisateur est possible. Vous recevez des entrées par l'écran tactile ou / et le clavier. OnResume est aussi appelée quand votre activité passe en arrière plan à cause d'une autre application.
onPause
Appelée juste avant qu'une autre activité que la votre passe en OnResume. A ce stade, votre activité n'a plus accès à l'écran, vous devez arrêter de faire toutes les actions qui consomment de la batterie ou du CPU. Par exemple si vous affichez une animation, il faut absolument l'arrêter quand on passe en OnPause car plus personne ne peut la voir par contre vous pouvez exécuter des algorithmes qui ne consomment pas beaucoup, comme ça quand votre application repasse en avant plan, le calcul sera déjà effectué mais attention le calcul doit être léger.
onStop
Appelée quand votre activité n'est plus visible, soit parce qu'une autre application à pris l'avant plan ou parce que votre application est terminée.
onDestroy
Appelée juste avant la fermeture de l'activité.
Installer votre environnement de développement.
Installation du SDK Android
- Afin de pouvoir installer le SDK Android il suffit d'aller sur http://developer.android.com/sdk/index.html et télécharger la version du SDK qui convient à votre OS. (Pour cet partie on va supposer que vous êtes sous Windows, pour les autres OS l'installation n'est pas très différente)
- Une fois le SDK téléchargé, allez dans le dossier où se trouve le Zip et l'extraire dans le dossier où vous voulez.
- Lancez l'exécutable "SDK Setup".
- La fenêtre suivante apparait (La dernière version actuelle du SDK est 2.1) :
Choisissez ce que vous voulez installer :
- SDK Platform Android 2.1, API 7 : Correspond tout simplement au SDK Android basique en version 2.1.
- Samples for SDK API 7 : Correspond à quelques exemples
- Android + Google APIs : Correspond au SDK Android (1ère option) + Google Api qui inclut différentes fonctions comme GoogleMap...etc
- Cliquez sur "Install". En cas de problème d'installation, allez dans "Settings" et cochez "Force https://... sources to be fetched using http://..."
Installation du plugin ADT sous Eclipse
Pour commencer il faut :
- Installer Eclipse : http://www.eclipse.org/downloads/ (Téléchargez une version comprenant Java) : Version installée pour ce tutoriel : 3.5 Galileo
- Il faut aussi installer JDK (Java Development Kit) et JRE (Java Runtime Environement) : http://java.sun.com/javase/downloads/index.jsp
- Lancez votre Eclipse, Allez dans le menu "Help and Install New Software"
- Dans la partie "Available Software", cliquez sur "Add"
- Rajoutez le nom du site ("ADT plugin" par exemple). Dans la location rajoutez : https://dl-ssl.google.com/android/eclipse/, puis cliquez sur OK
- Revenez dans "Available Software", vous devez voir "Developer Tools". Sélectionnez-le et appuyez sur "Next"
- Cliquez sur "Next" pour lire et accepter la licence et puis cliquez sur "Finish"
- Pour finir l'installation relancez Eclipse
Voilà votre environnement de développement est prêt.
Configuration de votre environnement de développement
Lancez votre eclipse, un nouvel élément apparaitra dans votre menu :
Cliquez sur l'icône en question (en rouge ci-dessus), une nouvelle fenêtre va apparaitre
Cet écran vous permettra de créer votre émulateur Android et cela grâce à l'onglet "Virtual Devices". Cliquez sur le bouton "New" ; une nouvelle fenêtre pour la création de votre émulateur apparaîtra.
- Name : Le nom que vous souhaitez donner à votre émulateur (sans espace).
- Target : Choisissez la version du SDK Android sur lequel l'émulateur doit fonctionner.
- SD Card : Configuration de la SD Card (Taille...etc). Ce champ est facultatif.
- Skins : Choisissez la taille, résolution...etc de votre émulateur, des émulateurs pré configurés se trouvent dans Built-in
- Hardware : Cette partie permet de rajouter le matériel, et de le personnaliser. Par exemple vous pouvez rajouter un GPS, configurer le clavier, l'accéléromètre...Etc
L'écran suivant devrait apparaitre et votre émulateur s'afficher dans la liste :
Voilà la configuration est terminée.
Mon premier programme sous Android.
Création de mon premier projet "HelloAndro"
Dans éclipse, cliquez sur "File >> New >> Android Project". La fenêtre ci-dessous apparaitra :
Remplissez les champs :
- Project name : Le nom du projet. Pour notre exemple on choisira HelloAndro
- Build Target : Cochez la SDK que vous souhaitez. On prendra Google Apis 2.1
- Properties :
- Application name : Le nom de l'application, ce sera son nom sur votre bureau Android. On choisira Hello Andro
- Package name : Le nom du package principal de l'application. Il faut que ce dernier comporte au moins deux identifiants séparés par des points. On prendra com.mti.android
- Create Activity : Si vous laissez coché, vous devez spécifier un nom. Pour notre exemple, nous utiliserons HelloAndroActivity
- Min SDK Version : Vous pouvez spécifier quelle version minimum du SDK est nécessaire pour que votre application fonctionne correctement. Ce champ est facultatif, pour notre Hello Andro nous allons le laisser vide, ce qui signifie qu'il n'y a pas de version minimum du SDK nécessaire
Explication de l'arborescence du projet
Voici à quoi ressemble l'arborescence du projet "HelloAndro" que l'on a crée précédemment :
|
Nom du Fichier / Dossier |
Utilité / Explications |
| src | Le dossier de source, dans lequel vous mettrez vos packages et votre code Java |
| com.mti.android | Package dont on a demandé la création quand on a crée le projet et qui contient notre principale activité, vous pouvez en créer d'autre. |
| HelloAndroActivity.java | Notre principale activité |
| gen | Dossier qui contiendra le R.java |
| R.java | Ce fichier est automatiquement généré par le SDK Android à chaque compilation, il contient la version java de toutes les ressources (dossier res) que vous avez déclaré. |
| Google APIs (android.jar, maps.jar) | Googles APIs Bibliothèque, elle contient le SDK ainsi que la bibliothèque qui permet d'utiliser Google Map |
| assets | Contient des données qui seront chargées sur le mobile lors de la compilation de votre projet. Cela peut, par exemple, être des fichiers texte décrivant la licence de votre application, des fichiers audio ou vidéo, etc. |
| res | C'est le dossier ressources cité précédemment |
| drawable-hpdi | Contient toutes images, bitmaps dont vous avez besoin pour votre application en haute résolution. |
| drawable-ldpi | Contient toutes images, bitmaps dont vous avez besoin pour votre application en basse résolution. |
| Icon.png | L'icône de votre application, cette icône sera affichée sur le bureau de votre émulateur ou téléphone Android. |
| layout | Le SDK Android offre une technique de création d'interfaces graphiques à l'aide de fichiers XML. C'est dans ce dossier que vous inclurez l'ensemble des fichiers décrivant vos interfaces. |
| Main.xml | Le fichier principal de votre interface. |
| values | Ce dossier contient un ensemble de fichiers décrivant les valeurs (pseudo variable) utilisées par votre application. On peut, par exemple, y mettre des chaines de caractères (strings.xml), des tableaux (arrays.xml), des entiers, des couleurs, etc.... |
| Strings.xml | Fichier qui contient vos déclarations de chaines de caractère. |
| AndroidManifest.xml | Définit le comportement de votre application au système Android. Ce fichier définit par exemple |
- Le nom.
- L'icône (par défaut icon.png).
- Le thème.
- La version minimale du SDK.
- Les activités.
- Les services ...etc.
"Hello, Andro !"
Le projet créé représente un "Hello World!". Vous pouvez le lancer en tant qu'une application Android.
L'application prendra du temps à se lancer, plusieurs écrans vont s'afficher.
Voilà le deuxième écran qui devrait s'afficher si tout se passe bien (Le premier est pareil mais avec Android juste écrit)
L'application s'ouvrira automatiquement et vous obtiendrez l'écran suivant :
Notre Hello Word est fonctionnel mais a été créé automatiquement, allons voir le code pour comprendre ce qui se passe.
- AndroidManifest.xml
- La balise manifest à la ligne deux contient plusieurs arguments, le plus important est package, qui donne le nom du package dans lequel se trouve votre main activité.
- La balise application sert à la déclaration de votre application :
- android:icon : L'emplacement où se trouve l'icône de votre application.
- android:label : Le nom de votre application (il se trouve dans strings.xml).
- La balise activity permet de déclarer une activité, à chaque nouvelle activité il faut remettre cette balise
- android:name : le nom de la classe java qui représente l'activité. Le nom doit commencer par un . et on ne met pas le .java a la fin.
- android:label : le label de l'activité en question
- intent-filter : c'est pour spécifier une action.
- la sous balise action est pour spécifier l'action à exécuter, dans notre cas c'est le main
- la sous balise category est là pour spécifier la catégorie de l'action
- Voici un lien qui explique les différents types d'actions et de catégories : http://developer.android.com/guide/topics/intents/intents-filters.html
- strings.xml
Hello World, HelloAndroActivity! Hello Andro
- dans les balises resources, on met une balise string à chaque fois que l'on a besoin de déclarer une chaine de caractères.
- on déclare deux chaines :
- La chaine hello qui contiendra "Hello World, HelloAndroActivity!" qui est le message qui sera affiché dans l'application
- La chaine app_name qui contient "Hello Andro" qui représente le nom de l'application
- main.xml
- On dispose de deux modes de visualisation.
- Onglet Layout : Mode visualisation et édition d'interface

- Onglet main.xml : mode code source
- On commence par une balise qui définit le layout : ici LinearLayout.
- Voici un lien pour la liste des différents layout : http://developer.android.com/reference/android/view/ViewGroup.html.
- On déclare une composante TextView pour afficher du texte et on lui dit qu'elle doit afficher le contenu de @string/hello, donc de la variable hello qui est déclarée dans strings.xml c'est-à-dire "Hello World, HelloAndroActivity!".
package com.mti.android; import android.app.Activity; import android.os.Bundle; public class HelloAndroActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
- Notre main activité. Elle doit hériter de la classe Activity ou d'une sous classe de cette dernière
- http://developer.android.com/reference/android/app/Activity.html
- La méthode "OnCreate" est équivalente au main
- On appelle simplement le OnCreate de la classe mère puis on initialise la vue. Puis, on met dedans R.layout.main, c'est-à-dire la vue déclarée dans le fichier main.xml
/* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.mti.android; public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } }
- Vous ne devez pas toucher à ce fichier, il est géneré automatiquement à partir de vos fichiers qui se trouvent dans le dossier des ressources (res).
- Vous remarquez que toutes les variables déclarées dans strings.xml sont présentes, que l'interface déclarée dans main.xml aussi (Ce qui explique l'utilisation de la ligne R.layout.main dans le HelloAndroActivity.java) ainsi que l'icône de l'application.
Conclusion
Voilà le tutoriel s'arrête là. En espérant qu'il vous aura aidé à comprendre comment fonctionne le SDK Android ainsi qu'à commencer la programmation Android. D'autres tutoriels plus avancés devraient suivre.






















