GTUG Dakar Meetup

Posted By: amenedem On mardi 6 décembre 2011



Saturday, December 10, 2011
Time3:00pm until 6:00pm


Where: Jokkolabs (Dakar/VDN)


Description : 
Venez nous rejoindre pour le redémarrage des activites de GTUG
Dakar....Au programme nous parlerons tout d'abord du nouveau réseau
social de Google G+, ses forces, son utilisation pour les
professionnels, les features...
Ensuite nous nous intéresserons Android ?  quel avenir ? quelles perspectives pour les
développeurs ? pour les professionnels en terme
d'utilisation ? ...Enfin nous terminerons par GWT , vous ne connaissez
pas ? Bah venez le découvrir avec nous...il suffit d'etre au courant,
alors suivez nous, car nous vous mettrons au courant.....  


Where: Jokkolabs (Dakar/VDN)  Alors vous venez ?


Hackathon "Android Days " Ce 22 octobre 2011 "

Posted By: amenedem On vendredi 21 octobre 2011


Hackathon "Android Days " Ce 22 octobre 2011 "

Hackathon Android Senegal 


Vous avez un bon niveau sous Android et vous aimez le partage et le travail collaboratif  , un mini Hackaton baptisé " Hackaton Android Days "  de 10 à 15 personnes est organisé ce Samedi 22 Octobre à Jokkolabs ici a partir de 9h :
Objectif

  • Partage de connaissance 
  • Travail en Equipe 
  • Sortir une idéé et la réaliser en la mettant sur le market 
  • les News sur la sortie d'android 4 

Venez Partagez !!!!



GTUG Dakar à l'IAM

Posted By: Hassane Moustapha On mercredi 8 juin 2011

SAISON 2 : EPISODE [2, 10] Application AndroGoree

Posted By: amenedem On samedi 14 mai 2011

Hello les Gars suite a une longue absence pour des raisons d’indisponibilités des acteurs ;-)  nous voici de retour avec les épisodes 2 à 10 .(Suite et Fin  Saison ) Enjoy .

Bon vous êtes surement au courant du challenge et je pense que tout le monde cherche tant bien que mal de la documentation ou des vrais code . dans cette saison , après avoir vu dans les saisons précédentes l'architecture d'un projet nous allons faire ensemble un vrai projet (Bref Mini Projet ;-) qui va parler des points suivants :

  • Les Activity
  • Les layout
  • Les Tab Layout les tab Activity
  • La Géolocalisation

Projet : AnDroGoree

Description : Affiche les Horaires de la chaloupe de Gorée et des informations utiles sur l’île

Les écrans qu'on doit avoir à la fin du Projet :
Ecran 1 affiche les Horaires départ Dakar
Ecran 2 Les points touristiques sur l’île 

Ok assez de bla bla à présent demarrer Eclipse et Créer votre Projet  préciser min SDK Api level (4) . 

I - Créer des Onglets ( TabActivity ) 
Dans votre Fichier GoreeHoraire.java qui est notre main activity va contenir 3 autres classes qui seront appelés lors de clique sur les 3 onglets (Départ sur Dakar , Départ sur L’île , Map )  .



      • Créer votre layout qui va se composer des Onglets : /res/layout/tab_horraire.xml 



<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp" />
</LinearLayout>
</TabHost>




      • Allons dans le main  GoreeHoraire.Java 
Dans votre "Principal Activity" ajouter ce code .(Bon essayons de comprendre le code ;-) )  
 @Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.tab_horraire );
   Resources res = getResources();
   TabHost tabHost = getTabHost();   
   TabHost.TabSpec spec;             
   Intent intent;                    
   intent = new Intent().setClass(this, HorraireDakar.class);
   spec = tabHost.newTabSpec("One").setIndicator("Depart Dakar ").setContent(intent);
   tabHost.addTab(spec);
   intent = new Intent().setClass(this, HorraireGoree.class);
   spec = tabHost.newTabSpec("two").setIndicator("Depart Goree").setContent(intent);
   tabHost.addTab(spec);
   intent = new Intent().setClass(this, PointChaudGoree.class);
   spec = tabHost.newTabSpec("three").setIndicator("",res.getDrawable(R.drawable.googlemapsicon)).setContent(intent);
   tabHost.addTab(spec);
   tabHost.setCurrentTab(0);
    }
       
Dans cette méthode " onCreate "  il y'a les classes Java  : HorraireDakar , HorraireGoree , PointChaudGoree . 
Expliquons un peu ce qui se passe a ce niveau : On a créer une nouvelle Intent qui implémente la classe appelée "  intent = new Intent().setClass(this, HorraireGoree.class);"


      • Créer la Classe Java HorraireDakar , HorraireGoree et PointChaudGoree 
Les fichiers layout correspondants :

    • HoraireDakar ==> res/layout/listhorrairedakar.xml 


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/homewidget"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
  <ListView android:id="@+id/ListView01"
android:layout_width="wrap_content"
android:fastScrollEnabled="true"
android:layout_height="wrap_content" />
 </RelativeLayout>
    • HorraireGoree ==>res/layout/listhorrairegoree.xml 
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout

android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
  <ListView android:id="@+id/ListView011"
android:layout_width="wrap_content"
android:fastScrollEnabled="true"
android:layout_height="wrap_content" 
/>
</RelativeLayout> 
    • PointChaudGoree ==>res/layout.viewmap.xml 
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:id="@+id/mainlayout"
    android:layout_height="fill_parent">
    <TextView
android:id="@+id/myLocationText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<com.google.android.maps.MapView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:enabled="true"
android:clickable="true"
android:id="@+id/mapview"
android:apiKey="@string/app_key"
  />
  <ZoomControls android:id="@+id/zoomcontrols"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"/>
</RelativeLayout>




      • Les codes Java 
    • HorraireDakar.java 
public class HorraireDakar extends Activity{
private ListView lv1; 
private String lv_name[]={"06 h 15","07 h 30","10 h 00","11 h 00","12 h 30","14 h 30","16 h 00","17 h 00 (sauf Samedi) ","18 h 30","20 h 00","22 h 30","23 h 30 (vendredi uniquement)","00 h 45 (samedi uniquement)"};
 
@Override
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//Le layout implementé
        setContentView(R.layout.listhorrairedakar);
//Recherche de l'object identifier by id
        lv1=(ListView)findViewById(R.id.ListView01);
// On cree un adaptateur de la liste
        lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, lv_name));
    }
}
    • HorraireGoree.java (Faire de même) tout juste voire si vous avez compris le principe ;-)
    • PointChaudGoree.java (La partie de geolocalisation ) 
Dans cette partie on veux faire ressortir sur une carte map(G-map) les points chaud ou touristique sur Gorée, les restaurants etc ... si vous le permettez on le detail un peu plus loin dans nos  prochains épisodes ......  

Meetup GTUG Dakar à l'ESMT

Posted By: Hassane Moustapha On mardi 3 mai 2011

Bonjour GTUG,

Samedi le 23 Avril 2011, GTUG Dakar avait tenu son meetup mensuel. Mais celui-ci était "spécial" car il a été dédié à Android et au lancement de la compétition "Android Challenge ".

Pendant ce meetup, Hovi le spécialiste Android du groupe avait gentillement fait un long exposé sur Android. Parcourant l'architecture et les bases de Android, il a encore, une fois de plus, réussi à intéresser les 70 personnes présentes à son petit robot vert :)

On n'oublie pas de remercier nos amis du club scientifique de l'ESMT qui ont accepté d'organiser cette rencontre dans les locaux de leur établissement.

Pour ne pas être long, je vous laisse découvrir ....



Speciale Android

Posted By: Hassane Moustapha On vendredi 1 avril 2011


Speciale Android avec GTUG Dakar ce 23 Avril 2011

SAISON 2 : DÉVELOPPEMENT ANDROID

Posted By: amenedem On lundi 14 mars 2011

Saison 2 : Episode 1 : Création d'applications

Dans la Saison 1 on a répondu à la question c'est quoi ANDROID et comment installer son environnement de développement  . Dans cette saison nous allons introduire les concepts de développement sous android et essayer de vous conduire à créer vous même votre premier projet Android !


Avant toute chose il faut connaitre le cycle de vie des applications et maîtriser les composantes d'une application et leurs interactions .


  1. Composants d'une Application

Une application Android est un assemblage de composants liés grâce à un fichier de
configuration. Nous allons découvrir chaque pièce de notre puzzle applicatif, comment
le fichier de configuration de l’application la décrit et comment toutes les
pièces interagissent entre elles.

On va décortiquer le schéma ci dessous :
Composition d'une application
Une application Android est composée de plusieurs éléments qu'ils faut assembler . Voici alors les différents éléments à savoir :


  •  Activités (Activity)
            C'est la partie présentation de votre projet ( Interface ou les écrans de votre Application ) 
  • Services (Service)
            Bah les services c'est des "Services " ;-) c'est des opérations de background des applications si je fais une analogie , c'est des CRON qui tournent en tache de fond ; ça permet tout simplement de mettre à jour des sources de données et de déclencher des notifications .....
  • Fournisseurs de contenu (ContentProvider)
         Ils permettent les partages des informations entre applications 
  • Objets Intent 
         C'est une taches ou une action spécifique  
  • Rrécepteurs d’Intents (BroadcastReceiver )
         " Listners " Ils ecoutent les autres applications enfin de repondre aux "intent" 
          
  • Notification
          C'est des Notifications (Exemple arrivée d'un SMS, Changement de position GPS , Niveau de baterie bas etc .....)

Si on remonte plus haut sur le premier schema on retrouve  une application composée d'un ensemble de  fenêtrés utilisant des éléments ressources ( fichiers , texte , images , video et autres )  tous reliés entre eux par un fichier de configuration le manifeste.xml .

    2. Le Cycle de vie d’une application



Les applications Android ont un fonctionnement particulier : elles réagissent à des
changements d’états imposés par le système (démarrage, pause, reprise, arrêt...).
Voici un schéma suivi d'un code permettant d'expliquer les différentes étapes dans le cycle de vie d'une application .
Cycle de vie d'une application

  • onCreate() :
    • Exécuté lorsqu'on lance l'application pour une première fois
    • Utilisé pour l’initialisation :
      • vue XML;
      • des fichiers/données temporaires;
  • onRestart() :
    • Exécuté au  Réveil de l'application après un stop() ,  redémarre (repasse en premier plan);
  • onStart() :
    • Exécuté après chaque onCreate() ou onRestart();
    • Chargement des données sauvegardées durant le dernier arrêt;
  • onResume() :
    • Exécuté après chaque onStart();
    • Exécuté a chaque passage en premier plan de l’activité;
    • Initialisation :
      • Connexion DB;
      • Mise à jour des données qui auraient pû être modifées entre temps (avant le onResume);
  • onPause() :
    • Exécuté avant chaque onStop();
    • Exécuté chaque fois que l’utilisateur passe à une autre activité, ou bien lorsqu’il demande un « finish() » sur cette activité, ou bien encore si le système à besoin de libérer de la mémoire;
    • Libération des resources :
      • sauvegarde des données qui seront perdues après l’arrêt si elles ne sont pas sauvegardées;
      • connection DB;
    • Attention : l’exécution de cette fonction doit être rapide car la prochaine activité ne démarrera pas tant que l’exécution de cette fonction n’est pas terminée;
  • onStop() :
    • Exécuté avant chaque mise en sommeil;
    • Exécuté avant chaque onDestroy:
    • Libération des ressources;
  • onDestroy() :
    • Exécuté lors du kill / de l’arrêt de l’activité;
    • onCreate() devra à nouveau être exécuté pour obtenir à nouveau l’activité.
    • libération des resources
      • fichiers temporaires

3 . Notion de priorité d'une application :

L’ordre d’arrêt des processus pour libérer des ressources est déterminé par la priorité du
processus donnée par le système. La priorité de l’application est elle-même déterminée
par son composant le plus prioritaire (une application possédant un fournisseur de contenu
a par exemple plus de priorité qu’une application qui en est dépourvue).
Tableau de priorité : 
Tableau des priorités établies par le système

En résumé on a fait le tour de ce qu'il faut encore savoir en terme de cycle de vie et des priorités des Processus pour aller plus loin je vous invites  ici pour compléter les informations .... 
Suite de nos prochains épisodes dans quelques jours ...... 

SAISON 1 : A la découverte d'ANDROID "Episode 4 : L'ARCHITECTURE DE BASE D'ANDROID "

Posted By: amenedem On dimanche 13 février 2011

Episode 4 : ANDROID ANATOMY
Hello ,
Précédemment nous avons développé notre FIRST "Hello GTUG " c'est cool . dans cet épisode nous allons parler de l'Architecture d'Android .

Ecran 1 Anatomy ( Architecture d'ANDROID )


Google a rendu public l'architecture de son système androïd composé de 4 couches principales  :
  1.   LE NOUYAU 
    Ecran 2 noyau
Android se repose sur sur le noyau linux 2.6.x  pour  :
  • La gestion de la mémoire 
  • Des processus  
  • Informations réseaux
  • Les pilotes matériels . 
  • Permettre aux applications et "Process" de tourner d'une manière indépendante mais avec des échanges de données 
 En résume le noyaux c'est la couche d'abstraction entre le matériel et les applications  
je pose 1 problématique que le notre Noyau Kernel gère bien :
  1. le téléphone mobile tourne sur batterie ==> limites en termes d'autonomie et autres 
 Solution : Gestion automatisé de l'énergie et le support des différents types de "wake locks " hum en français je dirais plutôt les modes d’économies automatique de batteries
Request de Wake lock 




2. LIBRAIRIES 
Couche librairie
 l'ensemble des Librairies native on peut citer : 
  • LIBC : librairies optimisées pour une utilisation embarquée
  • Open Gl (Open Graphics Library) est une spécification qui définit une API multiplate-forme pour la conception d'applications générant des images 3D
  • WebKits  une bibliothèque logicielle permettant aux développeurs d'intégrer facilement un moteur de rendu de pages Web
  • SQLite  une bibliothèque écrite en C qui propose un moteur de base de données relationnelles accessible par le langage SQL
  • Media framework  les pack video , audio , et les autres formats 
  • etc ...
il faut noter aussi dans cette couche existe une couche intermédiaire
Hardware Abstraction librairie )
Hardware Abstraction layer





ANDROID RUNTIME 
Dalvik -Virtual machine


Cette couche intègre :
  • les bibliothèques de bases du noyau de langage JAVA ( Core Libraries ) 
  • Une marchine virtulle : DALVIK 

3 . APPLICATION FRAMEWORK  

Application framework

Les managers de base 

  • Activity manager 
  • Package manager 
  • Window manager 
  • Ressource manager 
  • Content Providers 

Les Services de base : 
  • Telephony services GSM /CDMA 
  • Location Service 
  • Bluetooth Service 
  • Wifi service
  • USB service 
  • Sensor Service

4. COUCHE APPLICATIONS

Couche Application



L'ensemble des apps sur votre telephone .
;-)

Et  voila décortiqué ANDROID , on peut commencer à voir des choses intéressantes comme hum hum la suite dans nos prochains épisodes .....

SAISON 1 : A la découverte d'ANDROID "Episode 3 : My FIRST PROGRAMME "

Posted By: amenedem On samedi 12 février 2011

Précédemment dans notre épisode 2 notre environnement de développement est prêt   donc développons ;)
Sous IDE Eclipse :
Dans le menu "File ->  New -> Android project " valider apparaît cet Ecran :
Ecran 1 : Création Android de projet sous Eclipse
Remplissez les champs :
  •       Project name : Le nom du projet HelloGtugDays
  •       Build Target : Cochez la SDK que vous souhaitez. On prendra 2.3
  •       Properties :
    • Application name : Le nom de l'application, 
    • Package name : Le nom du package principal de l'application 
    • Create Activity : nom de l'Activity
    • Min SDK Version : Vous pouvez spécifier quelle version minimum du SDK est nécessaire pour que votre application fonctionne correctement. 
Puis cliquez sur "Finish", le projet "HelloGtugDays" doit alors apparaître dans votre arborescence.


Bon exécutons notre premier projet  "HelloGtugDays" ,  et bon voila vous devrez avoir ça : 

Ecran 2  "hello Gtug days"


Pour les Adeptes des lignes de commande : 
Allez dans le dossier tools en ligne de commande de votre Sdk et tapez : 
          android create project \
--target <target_ID> \
--name <your_project_name> \
--path path/to/your/project \
--activity <your_activity_name> \
--package <your_package_namespace>

Votre projet est Crée avec l'arborescence et les fichiers de configurations . 
On verra dans nos prochains épisodes la définition et l'organisation de l'arborescence ....




SAISON 2 ===>Développement Android  , prochainement ....... 

SAISON 1 : A la découverte d'ANDROID "Episode 2 : Prêt pour commencer "

Posted By: amenedem

Préparer son Environnement de développement
Précédemment dans l’épisode 1 on a répondu à la question c'est quoi Android ? que peut faire avec Android . Dans la suite (destinée au développeur ) nous allons voir comment préparer son environnement de développement ...

  1. Télécharger votre IDE Eclipse ici 
  2.  Aller sur cette page http://developer.android.com/sdk/index.html et télécharger le SDK correspondant à votre OS dans notre cas ici Ubuntu l'installation  n'est pas différente  d'un Os à un autre . 
  3. Une fois le téléchargement fini desarchiver le fichier .tar et aller dans le répertoire de l'archive /tools puis exécuter le fichier android 

Ecran 1 fenêtre d'installation des packages  
                     "select All" pour avoir tous les packages du SDK ( vous pouvez aussi sélectionnez ce qui vous intéresse.

Ecran  2 installation des packages 


 Nb : lors de l'installation il peut arriver que vous rencontrez des problèmes dans ce cas  Allez dans settings et cochez  "Force https://... sources to be fetched using http://..."


;) pause café .... Install SDK done 
Next step 
Installation de ADT ( Android Developement Tools ) sous Eclipse 

  1. Après installation de Eclipse ( ici 3.5 Galileo )  , n'oubliez pas les JRE et les JDK 
  2. Allez dans menu " help -> Install new software " 
  3. Dans l'ecran "Available Software " clicker sur Add vous devez avoir un ecran pareil : 

Ecran 3 Installation de ADT sous Eclipse






Les suites d'ecran : 

Ecran 4 
et voila on viens de finir l’installation de notre ADT sous Eclipse ;-) cool ça on va commencer à développer ...
Bon Testons : 
  1. Créons notre émulateur : Cliquer  sur le bouton vert dans votre Ide Eclipse 
Ecran 5 Création de l’émulateur



   Cliquer sur " NEW" et remplisser les champs suivants : 

  • Name : Le nom que vous souhaitez donner à votre émulateur  ANDROID (sans espace).
  • Target : Choisissez la version du SDK Android sur lequel l'émulateur doit fonctionner.
  • SD Card :   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 et autres

  • Si tout est Ok ,  Start votre Emulateur et vous avez ça: 
Ecran 6  Emulateur Android
Voila chers lecteurs notre environnement de développement prêt pour commencer  notre premier programme HelloGTUG-DAKAR dans notre l’épisode suivante .........































SAISON 1 : A la découverte d'ANDROID

Posted By: amenedem On dimanche 6 février 2011

Episode 1 c'est quoi  ANDROID ?  

Le Téléphone Mobile de Google : 
Définition : Android (prononcé androïde) est un systeme d'explotation open sources pour les smartphones ,PDA  terminaux mobiles conçu par Android, une startup rachetée par Google, et annoncé officiellement le 5 Novembre 2007. D'autres types d'appareils possédant ce système d'exploitation existent, par exemple des téléviseurs et des tablettes.
Google et 34  autres sociétés ( en 2008 ) ont annoncé la création de l'Open Handset Alliance (OHA) le 5 Novembre 2007 
Open Handset Alliance ( OHA ) :  
Illustration officielle d'Android par l'Open Handset Alliance :

C'est un consortium de plusieurs entreprises dont le but est de développer des normes ouvertes pour les appareils de téléphonie mobile .
Objectifs : 
  • favoriser l'innovation sur les appareils mobiles en  donnant aux consommateurs une expérience utilisateur bien meilleure que beaucoup de ce qui est disponible sur les plates formes mobile . 
  • Fournir aux développeurs un nouveau degré d'ouverture ,  pour nous en tant que développeurs d'applications mobiles, cela signifie que nous sommes libres de créer n'importe quelles applications mobiles, laisser libre court a notre imagination ...
Le Concept
Les téléphones mobiles d'aujourd'hui sont très puissants ordinateurs de poche ;) , mais ils sont toujours limités : 
  • la toute première je dirai plutôt  "fondamentale" des dispositifs mobile est la capacité de la batterie , chaque coup d'horloge du processeur , chaque rafraîchissement d'une page Html , chaque pixel sur l'écran  consomme de l'énergie . En conséquences les ressources mobiles sont limitées  (pour le moment cas "imagine the future " ) mais nous parlerons tout au long des saisons  ANDROID à  venir  des concepts de développement avec des petits codes illustratifs pour optimiser les ressources Mobiles ...
Les Applications : 

GOOGLE 
  • Champ de recherche rapide
  • Gmail
  • Google Latitude
  • Google Agenda
  • Google Maps
  • Google Earth
  • YouTube
  • ogle Buzz
Autres apps sur : https://market.android.com/  
Android market vous propose des millions d’applications  gratuites  

Vos Applications a vous , Nos Applications ......

Finish : 
Android est entrain de prendre le pas sur le monde de l'internet mobile donc n'attendez pas ...

Prochainement l’épisode 2 ......






snipt

Fourni par Blogger.