Astuces info | IPA ,APK, Android,Iphone,Ipad,Ipod: Android

Astuces info | IPA ,APK, Android,Iphone,Ipad,Ipod

astuces et trucs des application ,jeux,ipa,apk, tous les nouveautés des jeux et theme android et iphone ipad ipod,tablette, tous ce que vous chercher dans l internet

Affichage des articles dont le libellé est Android. Afficher tous les articles
Affichage des articles dont le libellé est Android. Afficher tous les articles

mercredi 4 septembre 2013

Contra: Evolution v1.1.2 Apk Download [android]

02:28
Contra: Evolution v1.1.2 Apk Download [android]
Contra: Evolution - screenshot thumbnail 

Contra: Evolution v1.1.2 Apk Download [android] 


Cover art
Contra: Evolution v1.1.2 Apk Download [android]
Contra: Evolution is the first official Contra game for Google Play, bringing all of the run-and-gun action of the 1988 original with 21st century graphics and controls to the palm of your hands.
Bill “Mad Dog” Rizer and Lance “Scorpion” Bean are back to business fighting aliens in the jungles of South America–but can you survive one of the hardest games ever? Collect power-ups, unlock new levels and characters, and take on challenges in this arcade blast from the past. With updated HD graphics that stay true to the classic, get ready for a whole new Contra experience!
What’s New
- Support high resolution devices
- Remove unnecessary permissions
*Remove license verification with Lucky Patcher
Contra: Evolution - screenshot 
Contra: Evolution - screenshot 
Contra: Evolution - screenshot 
Contra: Evolution - screenshot 

Download 

Read More

vendredi 16 août 2013

Minecraft - Pocket Edition APK v0.7.2 Download [android]

01:42
Minecraft - Pocket Edition APK v0.7.2 Download [android]

Minecraft - Pocket Edition play.google.com.minecraftpe
Imagine it, build it. Create worlds on the go with Minecraft - Pocket Edition
The new Minecraft - Pocket Edition allows you to build on the go. Use blocks to create masterpieces as you travel, hangout with friends, sit at the park, the possibilities are endless. Move beyond the limits of your computer and play Minecraft everywhere you go.

Feature:


  • Randomized worlds
  • Build anything you can imagine
  • Build with 36 different kinds of blocks
  • Invite and play with friends to your world (local wireless network)
  • Save multi-player worlds on your own phone
  • Xperia PLAY optimized
Note: Samsung Galaxy Tab users, please test the demo first! If it doesn't start, you will have to update your Android system software version.
What's in this version: (Updated : Jul 4, 2013)
  • Unicode keyboard support, chat in more languages!
  • Clients' armor is saved on server
  • Realms bug fixes
  • A few more bug fixes :)
  • Higher friction while flying
Required Android O/S : 1.6+

Screenshots :



Download : 6.6Mb APK
Read More

lundi 29 juillet 2013

Galaxy S4 Root de votre Verizon [android]

04:54
Galaxy S4 Root de votre Verizon [android]



Galaxy S4 Root de votre Verizon [android]






VRUAMDK Créer Seulement! -Regardez ce ***


http://i.imgur.com/xxjGShx.jpg

Description : Il s'agit d'un guide simple qui vous permettra de facilement root de votre périphérique S4 Galaxy Verizon sans avoir à essuyer votre appareil ou clignoter une image complète prerooted d'usine. Cette méthode fonctionne avec un noyau bêta fuite (fourni par l'utilisateur sextape ) et la méthode de la root (fourni par l'utilisateur djrbliss ). Seul le changement est j'ai modifié la méthode de la root Motochopper d'utiliser la dernière SuperSU place. Démo vidéo de l'ensemble du processus (Gracieuseté de DroidModd3rX) en haut ^^












Citation:








*** ATTENTION: NE FONCTIONNE PAS SUR LE VRUAME7 BUILD *** Si vous avez déjà mis à jour pour VRUAME7 BUILD s'il vous plaît voir le lien ci-dessous pour la méthode root NEW Lien vers Discussion



Étape 1 - Préparation

Citation:









  1. Téléchargez et installez les pilotes USB Samsung officielles - Lien

  2. Téléchargez et décompressez ODIN v3.07 - Lien

  3. Télécharger le Kernel Prerelease VRUAMD2 - Lien

  4. Télécharger le VRUAMDK Kernel Stock pour votre téléphone - Lien

  5. Téléchargez et décompressez le Motochopper root outil Exploit - Lien




Étape 2 - Clignotant VRUAMD2 Kernel Prerelease pour enlever bloc root

Citation:









  • Démarrez téléphone en mode ODIN ( Voir ici pour how-to )

  • Flashez le noyau Prerelease VRUAMD2 utilisant ODIN v3.07 *** dans la section PDA seulement *** ( Voir ici pour le guide à clignoter )

  • Restaurez Android et vérifier tout fonctionne et le noyau a flashé avec succès




Étape 3 - L'enracinement de votre appareil

Citation:









  • Allez dans Paramètres> Plus> À propos du téléphone> tapez "numéro de version" environ 7 fois jusqu'à ce qu'il se débloque Options pour les développeurs

  • Vérifiez dans les options de réglage Developer sur votre appareil que vous avez "débogage USB" vérifié

  • Vérifiez dans les options de réglage Developer sur votre appareil que vous avez «Vérifier applications via USB" décochée

  • Vérifiez dans la configuration de sécurité sur votre appareil que vous avez "Sources inconnues" vérifiés

  • Vérifiez dans la configuration de sécurité sur votre appareil que vous avez «Vérifier apps" décochée

  • Connectez votre téléphone à votre ordinateur et ouvrez le fichier "run.bat" à partir de l'emplacement où vous avez extrait à motochopper

  • Vous verrez un message sur le téléphone vous demandant d'accepter la nouvelle connexion à un ordinateur (sélectionner pour toujours autoriser et cliquez sur OK)

  • Après l'exécution de motochopper et le redémarrage de votre téléphone sur son propre, vérifier si SuperSU a aucune mise à jour dans le Play Store

  • Ouvrez SuperSU application et laisser se mettre à jour le fichier binaire de la dernière *** Très important ou vous allez perdre ROOT à l'étape 4 ***

  • Une fois terminé, il suffit d'ouvrir une application root et de vérifier qui est capable d'accéder à la root correctement




Étape 4 - La restauration Stock Kernel

Citation:









  • Démarrez téléphone en mode ODIN ( Voir ici pour how-to )

  • Flashez le VRUAMDK Kernel Stock utilisant ODIN v3.07 *** dans la section PDA seulement de *** ( Voir ici pour le guide à clignoter )

  • Restaurez Android et vérifier tout fonctionne et le noyau a flashé avec succès

  • Après le démarrage de votre téléphone à Android, vous devriez maintenant être pleinement enracinés et sur le stock entièrement firmware original qui est venu sur votre appareil




Étape 5 - Restauration récupération personnalisée (Facultatif)

Citation:









  • Assurez-vous que vous êtes enracinés en utilisant d'abord les 4 étapes ci-dessus en premier

  • Pour la reprise officielle TWRP suivez les étapes de ce thread (ou télécharger Goomanager): lien ici

  • Pour la reprise officielle ClockworkMod suffit de télécharger application ROM Manager et installer à partir de là

  • Pour Recovery MCG basé suivez les étapes de cette discussion: lien ici

  • Pour OUDHS geste tactile Recovery MCG basé suivez les étapes de cette discussion: lien ici




Crédits

crédit va à sextape pour fournir le noyau Prerelease VRUAMD2 ( Source originale ) 
Le crédit va à sextape pour fournir le VRUAMDK Stock Firmware et Kernel ( Source originale ) 
Le crédit va à djrbliss pour la création d'outil de Exploit Root Motochopper ( Original Post ) 
Le crédit va à cnlson pour fournir filehosting ftp (via PM) 
Le crédit va à ChainsDD pour créer superutilisateur ( Source originale ) Veuillez noter : Crédit pour cette méthode va entièrement aux utilisateurs qui ont créé ces outils et a fourni les fichiers. Je ne réunissant tous ces fichiers et la création d'un guide simple pour tout le monde à suivre.
Read More

Nexus 4 root, backup, modifications...toolkit [android]

04:39
Nexus 4 root, backup, modifications...toolkit [android]
Très pratique cette petite boite à outil pour rooter son appareil. On y trouve absolument tout ce dont on a besoin, sans avoir à aller chercher quelque chose par-ci, autre chose par-là. Si vous connaissez le toolkit pour Nexus 7 ou Galaxy Nexus, vous connaissez les avantages de ce système. Le toolkit pour Nexus 4 vient d'être proposé par les mêmes développeurs et sa fonctionnalité est tout aussi géniale. Il ne manque plus que le Nexus 4 !

Rooter Nexus 4

Nexus 4 root, backup, modifications...toolkit [android]










 

Cette boîte à outils vous offre pour commencer directement le logiciel qui permettra à votre ordinateur de reconnaître le Nexus 4. Une fois que vous avez fait cela, il n'y a presque plus rien que vous puissiez rater. Unlock-Root, création de Custom-Recovery (également appelé "méthode one-clic") et réaliser des sauvegardes (Backups) sont seulement quelques unes des actions que vous permet la boîte à outil.

J'ai trouvé quelques trucs vraiment utiles comme le fait que l'on puisse télécharger puis flasher Stock Images, soit le logiciel original, directement via le Toolkit pour Galaxy Nexus et Nexus 7 pour remettre les appareils aux paramètres d'usine. L'utilisation du toolkit Nexus 4 est en outre très simple puisque chaque pas pour chaque action est décrit très précisemment, avant et pendant l'exécution.

Pour ceux qui voudraient rooter ou modifier leur (futur) Nexus 4 la Toolkit/boîte à outils est un "must-have" absolu. Notez cependant qu'intervenir dans le système interne de votre appareil comporte toujours un risque et que l'utilisation de ce-dernier s'il facilite grandement vos opérations, n'est jamais sûr à 100% !
Read More

Root Nexus 7 Tutorials [android]

04:26
Root Nexus 7 Tutorials [android]
google-nexus-7-580-75-copy[1]

Root Nexus 7 Tutorials [android]


Le root comporte des risques, et ni moi ni Astucesinfo ne pourront être tenus responsables des éventuels dommages que vous pouvez occasionner à votre appareil.

Si vous n'êtes pas sûr de ce que vous faites, vous ne devriez probablement pas tenter l'aventure...
--

La Nexus 7 fait partie des tablettes faciles à rooter.
Tout d'abord, sauvegardez toutes vos données, synchronisez les quelque part, n'importe où, mais sauvegardez-les.

La marche à suivre est simple, il vous faut :

Télécharger le ToolKit (vous le trouverez en bas de l'article dans la section Liens)

  1. Extraire l'archive

  2. Installer le driver dans le dossier "drivers"

  3. Brancher la tablette à votre ordinateur et la placer en mode de débogage USB. (paramètres -> Options pour les Développeurs -> Débogage USB)

  4. Une fois les drivers installés, lancer root.exe

  5. Une question s'affiche alors, vous demandant si votre appareil est verrouillé ou dévérouillé. Si la tablette est neuve, elle est de toute façon vérouillée.

  6. Choissisez entre "super user" ou "supersu" pour rooter la Nexus 7 (ça n'a pas grande importance).


Liens :

Télécharger le ToolKit
Read More

Samsung Galaxy Nexus Unlock, Root, Recovery Tutorials [android]

04:15
Samsung Galaxy Nexus Unlock, Root, Recovery Tutorials [android]
samsung-galaxy-nexus

Samsung Galaxy Nexus Unlock, Root, Recovery Tutorials [android]


Bonjour à tous, je vais vous expliquer ici 3 choses différentes :


  1. Comment débloquer le bootloader de votre Galaxy Nexus



  2. Comment le rooter



  3. Comment installer un recovery custom





Tout d'abord, je tiens à préciser que tout cela comporte des risques si vous ne faites pas exactement ce qui est dit, et si il arrive quoi que ce soit, ni AndroidPit ni moi ne pourront être tenus pour responsables.


Comment débloquer le bootloader de votre Galaxy Nexus

! Cette action va supprimer TOUTES les données du téléphone et de la mémoire interne !

- Télécharger ce fichier, placer son contenu à la racine de votre disque principal (Disk C) et renommez le "root"
- Si vous n'avez pas déjà les drivers de votre Galaxy Nexus téléchargez "MyPhoneExplorer" et installez-le
- Activer le Debogage du téléphone dans les paramètres > options pour les développeurs
- Branchez votre téléphone pour que l'ordinateur le reconnaisse et puisse installer les drivers
- Une fois les drivers installés nous allons pouvoir commencer à débloquer le bootloader :

- Éteignez-le et rallumez-le en appuyant sur volume - et + ainsi que power
- Branchez votre téléphone à l'ordinateur
- Lancez une commande (bouton windows + R, tapez "cmd" et faites entrer)
- En suite tapez ceci (entre chaque ligne, faites entrer) :

cd c://root

fastboot-windows oem unlock


- Là votre téléphone va vous demander si vous voulez débloquer le bootloader, utilisez les boutons de volume pour vous déplacer et power pour valider
- Voilà votre bootloader est dévérouillé, maintenant, le root.

Comment le rooter

- Après avoir validé, allez dans le dossier "root" et lancez "install-superboot-windows.bat"
- Le téléphone va se relancer, vous pourrez maintenant voir l'application "Superuser"

Comment installer un recovery custom

- Télécharger l'application "Rom Manager" sur le Play Store
- Lancez "Flasher le Recovery ClockworkMod"
- L'application va télécharger le recovery et vous dira quand il sera installé
- Quand l'application vous demandera les droits superuser, faites "autoriser"
- Et voilà, vous êtes prêt à utiliser le recovery pour installer une rom custom !
Read More

ROOT Archos GEN8 Tutorials [Android]

04:07
ROOT Archos GEN8 Tutorials [Android]
archos-gen8-root

 ROOT Archos GEN8 Tutorials [Android]



IMPORTANT : LE ROOT QUE VOUS ALLEZ FAIRE
VOUS PERMETTRA DE TOUT FAIRE
MEME CASSER VOTRE ARCHOS GEN8

Pré-Requis :

  1. Avoir un ARCHOS Gen8 (ex A101IT,A70IT, A80IT)

  2. Archos Firmware Archos serve]2.4.82

  3. Archos SDE (le mode Recovery d'ARCHOS) : site ARCHOS / Mirroir

  4. Kernel Rooté : fw 2.4.82 +rw

  5. Savoir se mettre en mode SDE(RECOVERY) (Allumer + Vol (-) et lacher le bouton power lorsque vous voyez le logo)


 

  1. Installer le SDE (un RECOVERY PERMANENT)

    • Entrez en mode RECOVERY (voir Pré-Requis)

    • "Update Firmware"

    • Conecter la tablette au PC

    • copiez le Firmware SDE sur de nouveau disque"amovible" qui vient d'apparaitre sur votre PC (précédemment downloadé )

    • Déconnectez le cable USB

    • Sur la tablette : validez "OK" avec le bouton Power

    • reboot



  2. Installer le FW Officiel 2.4.82

    • Entrez en mode RECOVERY (voir Pré-Requis)

    • "Update Firmware"

    • Conecter la tablette au PC

    • copiez le Firmware AOS (2.4.82) sur de nouveau disque"amovible" qui vient d'apparaitre sur votre PC (précédemment downloadé )

    • Déconnectez le cable USB

    • Sur la tablette : validez "OK" avec le bouton Power

    • reboot



  3. Installer le "custom kernel + initramfs" Rooté

    • Entrez en mode RECOVERY (voir Pré-Requis)

    • "Recovery Menu" / "Developer Edition Menu"

    • "Flash Kernel and Initramfs"

    • Conecter la tablette au PC

    • copiez le zImage et initramfs.cpio.gz (contenu dans le fichier ZIP (à déziper) )

    • Déconnectez le cable USB

    • Sur la tablette : validez "OK" avec le bouton Power

    • Reboot en mode RECOVERY
      LES ETAPES SUIVANTES ONT POUR BUT DE REMPLACER DEFINITIVEMENT
      DE KERNEL D'ORIGINE PAR CELUI QUI EST ROOTé

    • "Recovery Menu" / "Developer Edition Menu"

    • "Remove Android Kernel"

    • reboot




SOURCE : TUTO D'XDA D'ORIGINE
Read More

mercredi 10 juillet 2013

Android jelly bean sur galaxy s2

07:18
Android jelly bean sur galaxy s2

Image


Android jelly bean sur galaxy s2


Je ne vais pas tergiverser pendant trois heures, ça fait tellement longtemps qu'on attends Jelly Bean (presque) officielle sur le Galaxy S2 que je vais vous donner la méthode maintenant, et on en discutera ensuite ! C'est ultra-simple, il vous faut un Galaxy S2, et des mains. Comme d'habitude, faites une backup. Avec cette ROM, vous perdrez probablement certaines de vos données personnelles. Mes photos sont restées, mais pas mes sms ni mes paramètres wifi. Avec la synchronisation Google ça limite la casse, mais faites un backup quand même. Avec CyanogenMod 9.1, toutes les données étaient restées.

L'installation (flashage) de ROMs customs comporte des risques, si vous ne suivez pas la procédure comme il faut, vous pouvez vous retrouver avec un téléphone inutilisable. De même, il n'y a normalement aucune perte de données avec cette méthode, mais la prudence étant mère de sûreté, sauvegardez toutes vos données au préalable. Ni AndroidPIT ni moi-même ne pourront être tenus responsables de quoi que ce soit.

Ce tutoriel est destiné au Samsung Galaxy S2 GT-i9100 exclusivement. Ce qu'il vous faut avant de commencer


- Le logiciel Odin 3.04 =>ICI
- La ROM Android 4.1 Jelly Bean pour le Galaxy S2 => ICI (le fichier fait 500+ Mega, donc ça peut vous prendre quelques bonnes minutes)


Let's go

1. Décompressez l'archive Odin304
2. Décompressez l'archive I9100XXLSJ_I9100OXXLS1_OXX
3. Lancez Odin
4. Eteignez votre smarpthone et redemarrez en mode download (Volume Bas + Home + Power jusqu'à arriver à l'écran "Downloading)
5. Branchez votre Galaxy S2 via USB à votre ordinateur
6. Attendez qu'Odin reconnaisse votre Android, un rectangle bleu apparaît alors.
Le rectangle, jaune sur certaines versions d'Odin, est ici bleu
Image

7. On va maintenant indiquer le contenu à installer à Odin, que l'on a décompressé auparavant. Dans la partie PDA, allez chercher le fichier CODE_I9100XXLSJ.tar, dans la partie PHONE on mettra le fichier MODEM_I9100XXLS6.tar, et dans la partie CSC le fichier CSC_HOME_OXX_I9100OXXLS1.tar
Ne vous trompez pas de sens !
Image

8. Verifiez tout, tout doit être coché comme sur les photos. RIEN D'AUTRE.
9. Cliquez sur Start, et lancez votre morceau préféré.
On peut suivre l'évolution sur Odin...
Image

... et sur le Galaxy S2
Image

10. Quand Odin vous affiche PASS! sur fond vert, c'est que c'est fini (vous vous en doutiez)
C'est bon, par Odin !
Image

11. Attendez que votre Galaxy S2 finalise l'installation (5 minutes environ). L'écran Samsung reste affiché un bon moment, pas d'inquiétude c'est normal.


Le gros must de cette ROM, qui est en fait une fuite de l'Android 4.1 Jelly Bean qui devrait sortir bientôt pour le Galaxy S2 (ça fait longtemps que c'est bientôt, hein Samsung !) c'est qu'elle est "presque" officielle, et que l'on pourra appliquer la ROM officielle Samsung quand elle sortira.

Elle est pas belle la vie ? L'inconvénient, c'est que vous perdrez votre root. Enfin c'est refaisable rapidement... Un mot pour finir : Jelly Bean améliore grandement la fluidité votre smartphone par rapport à ICS.


Source : androidpit
Read More

Lg optimus l7 p700 Rooter,rom custom,bootloader

05:07
Lg optimus l7 p700 Rooter,rom custom,bootloader
voici une astuce pour rooté le lg optimus l7 plus deux trois optimisations ;)

Lg optimus l7 p700 Rooter,rom custom,bootloader


1.mise a jour et rooter (V10i )

En 1er télécharger ce fichier
http://www.mediafire.com/?16ay7ituwwhnib3

Télécharger en suite la dernière version du firmware :
http://lg-phone-firmware.com/index.php?id_mod=13

Télécharger le fichier http://albafile.com/w9696umdwhtf/pour_nous__l7_.rar.html

(Archive en 4 parties, a réunir avec 7Zip pour avoir un seul fichier qui se nomme system.img.ext4 qui faut ensuite copier sur votre disque C)
logiciel 7zip pour le pc

lancer le 1er fichier
et cliquer là ;)


Image

sélectionner 3GQCT et EMERGENCY et parcourir les fichiers pour charger votre V10I (ou autre)
NE FAITES PLUS RIEN. Ne cliquez pas sur 'Launch Software Update'. (Laissez ouvert comme ça)


Trouvez ensuite votre dossier LGMOBILEAX (Commencez par cocher l'option 'Afficher les fichiers et dossiers cachés' dans fichier/option des dossiers etc)

Chez moi le dossier était dans Disque:C/ProgramData/LGMOBILEAX (Laissez ce dossier ouvert)

vous avez logiquement, votre system.img.ext4 copié sur votre disque C, et votre logiciel de flash ouvert prêt a être utilisé

Ensuite, vous éteignez votre portable, puis vous le passez en mode EMERGENCY
(Une fois éteint touche volume UP + Mise sous tension) une petite vibration et hop écran jaune avec écrit 'EMERGENCY'

ETAPE LA PLUS IMPORTANTE (a lire avant la manip) :

Vous allez brancher votre portable, puis cliquez sur 'LAUNCH SOFTWARE UPDATE' (gardez le dossier LGMOBILEAX et votre disque C avec votre system.img.ext4 (Image modifié) sous la main)
Donc au moment ou vous allez cliquez sur LAUNCH SOFTWARE UPDATE, le log commence son boulot, au même moment dans le dossier LGMOBILEAX un dossier 'phone' apparaît entrez dedans, vous devriez voir un nouveau fichier nommé system.img.ext4 apparaître aussi, qui grossi de plus en plus (Rafraîchissez le dossier) une fois que ce fichier a atteint sa taille maxi, c'est a dire 430 mo (soit affiché 430 000 ko dans le fenêtre windows) vous la supprimez et vous copier votre system.img.ext4 (ou couper coller)modifié que vous avez copié sur votre disque C juste avant. On supprime l'ancienne, on met la nouvelle. Et voila c'est fini.


En attendant le logiciel de flash continue son boulot, il affiche des erreurs mais c'est pas grave. il affiche plein de 'NOT FOUND' mais c'est pas important.

Vous attendez la fin, votre portable démarre, le logiciel écrit 'FINISHED' (le logiciel plante a la fin chez moi, mais c'est normal)

vous avez un portable rooté sur la v10i

PS : Il est possible que votre clavier par défaut LG crash a l'ouverture du téléphone après le root et soit inutilisable. Je n'utilise pas ce clavier, j'utilise SwiftKey 3 donc j'ai pas eu ce problème.


Donc en 1er et AVANT TOUTE MANIPULATION DE VOTRE TELEPHONE telecharger SwiftKey 3 ou autre clavier

voila logiquement en même pas 1h tout et fait



2.Comme beaucoup de personnes recherche comment procédé pour faire
un reset complet sur le lg optimus p700

je ne parle pas de hard reset sinon c'est ici --->
hard-reset.html

1- arrêter votre mobile

2- tenir les touche suivante enfoncé et dans cette ordre
(volume+)+(volume-) + (touche centre en bas) + power

3- le mobile vas vibré tout lâché

4- attendre de une a deux secondes et re cliquer sur power rapidement
un robot doit apparaître

5- re cliquer sur power pendent 1 a 2 secondes
une liste en bleu vas apparaître
avec écrit:
Android System Recovery (3e)
Android system recovery utility
--- Reboot
--- Apply Update
--- Wipe Data/Facory reset
--- Wipe cache partition

6- allez sur Wipe Data/Facory reset et supprimer le fichier a l'interieur
nettoyez aussi Wipe cache partition

7-faire reboot avec la ligne correspondante

Image


3.Pour liée les applications sur la carte sd


Link2SD déplace les fichiers apk, dalvik-cache (.dex) et lib (.so) vers la carte SD.

https://play.google.com/store/search?q=link2sd

Link2SD ne peut être mis en œuvre que sur un téléphone avec les droits "ROOT"

formater votre carte sd avec : http://www.partitionwizard.com/

créé une 1ere partition PRIMAIRE FAT32 bien grosse pour pouvoir avoir du stockage

créé une 2eme partition PRIMAIRE EXT2 de 1.37 Go

la sd dans le mobile lancé Link2sd choisir ext2

liée vos applications

Image



4.Pour remplacer les applications d'origine

télécharger cette application : play.google.com/store/apps/

comme le téléphone et root, après désinstaller la galerie + photo origine ;)

l'application fait galerie,photo et caméra (+camera 360°)

il faut faire pareil pour le lecteur audio vidéo

télécharger PlayerPro Music Player

puis désinstaller l'original (encore de la place en + dans la room ;) )

pareil avec le navigateur internet d'origine
télécharger Dolphin Browser

idem pour la calculatrice
télécharger RealCalc Scientific Calculator

puis désinstaller l'original (encore de la place ;) )

idem pour le calendrier d'origine
télécharger Jorte Calendar

puis désinstaller le calendrier d'origine

logiquement avec ça vous gagnez pas mal de place
la room sera bien plus légère ;)

Comme application superbe aussi et utile ;)
il y a l'application WiFi Manager

@++ ;)
Read More

Désimlocker votre Samsung Galaxy S3 [android]

04:53
Désimlocker votre Samsung Galaxy S3 [android]
'ai la chance d'avoir un Galaxy S III acheté sans aucun forfait donc "unlocked" tout opérateur, mais ce n'est pas le cas de tout le monde.
Désimlocker votre Samsung Galaxy S3

Il y a 2 possibilités :

- Attendre 3 mois depuis votre abonnement ou renouvellement pour le faire débloquer par votre opérateur !

ou

- Le faire immédiatement via un de ces tutos :

Image
NOTE: ATTENTION, FIXÉ DANS LES FIRMWARES SUPÉRIEURS À FIN JUILLET 2012


1er tuto :

Désimlocker votre Samsung Galaxy S3 avec GalaxSimUnlock.

Avoir rooté son mobile
Avoir Busybox => ICI d'installé

Sur votre mobile aller dans Paramètres, puis Sécurité et cochez Sources inconnues.
Télécharger, copier GalaxSimUnlock => ICI sur la carte SD de votre Galaxy S III et l’exécuter.

Une fois l'installation fini lancer l'application et vous obtiendrez ceci:

Image

Il ne vous reste plus qu’à appuyer sur le bouton Unlock.
Redémarrer votre mobile, votre Galaxy S III est désormais tout opérateur



2ème tuto



Maintenant que vous avez un Galaxy Samsung SIII rooté, ce serait bien d'unlocker la bête non ? Voici comment le faire en... 20 secondes. Top chrono ! C'est parti.


Maintenant, vous pouvez aller sur Google Play pour télécharger Voodoo Galaxy SIII SIM Unlock => ICI. Une fois téléchargée et installée (n'oubliez pas dans vos paramètres d'autoriser les sources inconnues), lancez l'application et cliquez sur Unlock.

Image

Voilà, c'est terminé ! Ce téléphone est définitivement fantastique !
Read More

lundi 8 juillet 2013

Les AsyncTask - android

07:01
Les AsyncTask - android


Bonjour chers amis développeurs Android ! Aujourd’hui nous allons voir comment fonctionne la classe AsyncTask.

Comme son nom l’indique, une AsyncTask permet de réaliser des tâches de manière asynchrone, à la manière de la classe Thread. L’avantage de l’AsyncTask est sa simplicité d’utilisation et d’implémentation. Le Thread secondaire est créé automatiquement et la communication entre les différents Thread est simplifiée.

 

Lors du développement d’une application, il faut bien avoir en tête que toutes les tâches consommatrices de ressources (requêtes http, calculs lourds, …) doivent se faire dans un Thread séparé. En effet, le système affiche un message d’erreur et ferme l’application lorsque le Thread principal (appelé UI Thread) est bloqué trop longtemps.


Mise en place du projet


Nous allons donc d’abord créer un nouveau projet appelé AsyncBigCalcul. Nous allons faire en sorte d’effectuer un traitement long de manière asynchrone.
Premièrement, nous allons modifier le layout main.xml en lui ajoutant un Button et une ProgressBar. Le premier servira à lancer le traitement ; la seconde à afficher la progression du traitement.
Voici le code XML, rien de difficile.
?xml version="1.0" encoding="utf-8"?
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"

Button
android:layout_marginTop="10dp"
android:id="@+id/btnLaunch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Lancer la tâche" /

TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Progression de la tâche asynchrone:" /

ProgressBar
android:id="@+id/pBAsync"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_margin="10dp"
android:layout_height="wrap_content" /

/LinearLayout

L’activité principale


Nous allons d’abord récupérer les composants définis dans le layout puis ajouter un listener sur le bouton afin qu’à chaque appui on exécute une nouvelle instance de BigCalcul. Jusque là, rien de bien compliqué encore une fois.
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.Toast;

public class AsyncBigCalculActivity extends Activity {

private ProgressBar mProgressBar;
private Button mButton;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// On récupère les composants de notre layout
mProgressBar = (ProgressBar) findViewById(R.id.pBAsync);
mButton = (Button) findViewById(R.id.btnLaunch);

// On met un Listener sur le bouton
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
BigCalcul calcul=new BigCalcul();
calcul.execute();
}
});
}
}

La classe BigCalcul


Passons ensuite à l’écriture de notre classe BigCalcul, qui hérite d’AsyncTask. Ici je l’ai mise en classe privée mais c’est possible de l’écrire à part. Je vous laisse admirer (et essayer de comprendre) le code :
private class BigCalcul extends AsyncTaskVoid, Integer, Void
{

@Override
protected void onPreExecute() {
super.onPreExecute();
Toast.makeText(getApplicationContext(), "Début du traitement asynchrone", Toast.LENGTH_LONG).show();
}

@Override
protected void onProgressUpdate(Integer... values){
super.onProgressUpdate(values);
// Mise à jour de la ProgressBar
mProgressBar.setProgress(values[0]);
}

@Override
protected Void doInBackground(Void... arg0) {

int progress;
for (progress=0;progress=100;progress++)
{
for (int i=0; i1000000; i++){}
//la méthode publishProgress met à jour l'interface en invoquant la méthode onProgressUpdate
publishProgress(progress);
progress++;
}
return null;
}

@Override
protected void onPostExecute(Void result) {
Toast.makeText(getApplicationContext(), "Le traitement asynchrone est terminé", Toast.LENGTH_LONG).show();
}
}

Explications :
Les trois paramètres attendus lors de la déclaration sont des types génériques dont voici la signification :

  • Le premier est le type des paramètres fournis à la tâche

  • Le second est le type de données transmises durant la progression du traitement

  • Enfin le troisième est le type du résultat de la tâche


Une AsyncTask doit obligatoirement implémenter la méthode doInBackground. C’est elle qui réalisera le traitement de manière asynchrone dans un Thread séparé. Les méthodes onPreExecute (appelée avant le traitement), onProgressUpdate (appelée lorsque vous souhaitez afficher sa progression) et onPostExecute (appelée après le traitement) sont optionnelles. Un appel à la méthode publishProgress permet la mise à jour de la progression. On ne doit pas appeler la méthode onProgressUpdate directement.

NOTE: Attention, ces trois méthodes (onPreExecute, onProgressUpdate et onPostExecute) s’exécutent depuis l’UI Thread ! C’est d’ailleurs grâce à cela qu’elles peuvent modifier l’interface. On ne doit donc pas y effectuer de traitements lourds.

Ce qui donnera :






Le code me parait assez clair donc je ne détaille pas plus. Vous remarquerez juste que le soi-disant BigCalcul n’est en fait qu’une grosse boucle, ça me paraissait plus lisible.

Voilà, j’espère que les AsyncTask n’ont plus de secret pour vous à présent ! N’hésitez pas à poser des questions si vous avez des difficultés d’implémentation. Le code source de l’exemple est disponible ici.

Read More

jeudi 4 juillet 2013

Créer un Live Wallpaper sous Android

09:07
Créer un Live Wallpaper sous Android

  • Un live wallpaper a un contenu dynamique, ce qui permet d’avoir des animations. C’est donc à vous de gérer les différentes étapes de dessin sur le wallpaper. Pour cela, on utilise les deux classes Runnable et Handler.

    Le handler envoi le runnable (ici drawer) dans le messageQueue associé à l’UI Thread afin qu’il soit exécuté. Ce runnable se charge de dessiner sur le wallpaper grâce à la méthode draw() qu’on expliquera plus tard. Répéter plusieurs fois ce mécanisme nous permet d’avoir une animation.

    Quand le wallpaper doit s’arrêter, la variable visible (qui stocke la visibilité actuelle du wallpaper) passe à false dans les méthodes onSurfaceDestroyed() et  onVisibilityChanged() ce qui stoppera l’animation (méthode handler.removeCallbacks(drawer).)

    Quand le wallpaper devient visible, la variable visible passe à true dans la méthode  onVisibilityChanged() , ce qui relance l’animation du wallpaper (méthode handler.post(drawer).)

    Voyons maintenant comment on dessine sur le wallpaper, la méthode facilitant cette opération est la méthode draw() :

    private void draw() {
    SurfaceHolder holder = getSurfaceHolder();
    Canvas canvas = null;
    try {
    canvas = holder.lockCanvas();
    if (canvas != null) {
    float x = (width * random.nextFloat());
    float y = (height * random.nextFloat());
    drawImage(canvas, x, y);
    }
    } finally {
    if (canvas != null)
    holder.unlockCanvasAndPost(canvas);
    }
    handler.removeCallbacks(drawer);
    if (visible) {
    //On re-poste le runnable après un petit laps de temps
    handler.postDelayed(drawer, 4000);
    }
    }


    La méthode qui permet de dessiner l’image dans le canvas est décrite ci-dessous :

    private void drawImage(Canvas canvas, float x, float y) {
    canvas.drawColor(Color.WHITE);
    canvas.drawBitmap(androidPic, x-(androidPic.getWidth()/2), y-(androidPic.getHeight()/2), null);
    }


    Sans oublier de déclarer la variable qui représente l’image qu’on veut dessiner :

    Bitmap androidPic = BitmapFactory.decodeResource(getResources(), R.drawable.android);


    Explications :

    Nous avons utilisé un Canvas, ce qui nous permet de dessiner de manière répétitive sur la Surface du wallpaper. Cette surface est fournie par la classe « SurfaceView ».

    Afin de manipuler cette surface on utilise l’interface SurfaceHolder. On obtient le canvas grace à la méthode lockCanvas(), puis on dessine sur un point du canvas avec la méthode drawImage().Ce point est obtenu aléatoirement grâce à ses coordonnés (x,y).

    Enfin la méthode unlockCanvasAndPost(canvas) est appelé pour que le canvas soit déssiné sur la surface du wallpaper.

    Gestion des événements tactiles :


    Cela se fait grâce à la méthode onTouchEvent(MotioEvent event), cette méthode posséde le même comportement que la méthode draw(), sauf que cette fois les coordonnées du point où s’effectue le dessin sont obtenus à l’endroit ou l’interaction utilisateur est effectuée.

    @Override
    public void onTouchEvent(MotionEvent event) {
    float X = event.getX();
    float Y = event.getY();
    SurfaceHolder holder = getSurfaceHolder();
    Canvas canvas = null;
    try {
    canvas = holder.lockCanvas();
    if (canvas != null) {
    canvas.drawColor(Color.WHITE);
    drawImage(canvas, X, Y);
    }
    } finally {
    if (canvas != null)
    holder.unlockCanvasAndPost(canvas);
    }
    handler.removeCallbacks(drawer);
    if (visible) {
    handler.postDelayed(drawer, 4000);
    }
    super.onTouchEvent(event);
    }

    Ce qui donnera :
    import java.util.Random;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.os.Handler;
    import android.service.wallpaper.WallpaperService;
    import android.view.MotionEvent;
    import android.view.SurfaceHolder;

    public class MyLiveWallpaper extends WallpaperService {

    private static Random random = new Random() ;

    @Override
    public Engine onCreateEngine() {
    return new LiveWallpaperEngine();
    }

    private class LiveWallpaperEngine extends Engine {

    private final Handler handler = new Handler();
    private final Runnable drawer = new Runnable() {
    @Override
    public void run() {
    draw();
    }
    };

    private boolean visible = true;
    private int width;
    private int height;
    Bitmap androidPic = BitmapFactory.decodeResource(getResources(), R.drawable.android);

    public LiveWallpaperEngine() {
    handler.post(drawer);
    }

    @Override
    public void onCreate(SurfaceHolder surfaceHolder) {
    super.onCreate(surfaceHolder);
    setTouchEventsEnabled(true);
    }

    @Override
    public void onDestroy() {
    super.onDestroy();
    handler.removeCallbacks(drawer);
    }

    @Override
    public void onSurfaceCreated(SurfaceHolder holder) {
    super.onSurfaceCreated(holder);
    }

    @Override
    public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) {
    this.width = width;
    this.height = height;
    super.onSurfaceChanged(holder, format, width, height);
    }

    @Override
    public void onSurfaceDestroyed(SurfaceHolder holder) {
    super.onSurfaceDestroyed(holder);
    this.visible = false;
    handler.removeCallbacks(drawer);
    }

    @Override
    public void onVisibilityChanged(boolean visible) {
    this.visible = visible;
    if (visible) {
    handler.post(drawer);
    } else {
    handler.removeCallbacks(drawer);
    }
    }

    @Override
    public void onTouchEvent(MotionEvent event) {
    float X = event.getX();
    float Y = event.getY();
    SurfaceHolder holder = getSurfaceHolder();
    Canvas canvas = null;
    try {
    canvas = holder.lockCanvas();
    if (canvas != null) {
    canvas.drawColor(Color.WHITE);
    drawImage(canvas, X, Y);
    }
    } finally {
    if (canvas != null)
    holder.unlockCanvasAndPost(canvas);
    }
    handler.removeCallbacks(drawer);
    if (visible) {
    handler.postDelayed(drawer, 4000);
    }
    super.onTouchEvent(event);
    }

    private void draw() {
    SurfaceHolder holder = getSurfaceHolder();
    Canvas canvas = null;
    try {
    canvas = holder.lockCanvas();
    if (canvas != null) {
    float x = (width * random.nextFloat());
    float y = (height * random.nextFloat());
    drawImage(canvas, x, y);
    }
    } finally {
    if (canvas != null)
    holder.unlockCanvasAndPost(canvas);
    }
    handler.removeCallbacks(drawer);
    if (visible) {
    //On re-poste le runnable après un petit laps de temps
    handler.postDelayed(drawer, 4000);
    }
    }

    // Permet de dessiner l'image dans le canvas
    private void drawImage(Canvas canvas, float x, float y) {
    canvas.drawColor(Color.WHITE);
    canvas.drawBitmap(androidPic, x-(androidPic.getWidth()/2), y-(androidPic.getHeight()/2), null);
    }
    }
    }


    Dernière étape, on déclare notre service dans l’AndroidManifest.xml avec l’action « android.service.wallpaper.WallpaperService » et la permission « android.permission.BIND_WALLPAPER » qui autorise l’utilisation du Live Wallpaper.
    Notons aussi l’ajout de la balise uses-feature , qui indique à Google Play que votre application contient un Live Wallpaper, pour que celle–ci soit visible qu’aux utilisateurs ayant un device supportant les live wallpapers.

    ?xml version="1.0" encoding="utf-8"?
    manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.tuto.android"
    android:versionCode="1"
    android:versionName="1.0"

    uses-sdk android:minSdkVersion="10" /
    uses-feature android:name="android.software.live_wallpaper"/uses-feature

    application
    android:label="@string/app_name"
    android:icon="@drawable/ic_launcher"

    service
    android:label="@string/my_live_wallpaper"
    android:name=".MyLiveWallpaper"
    android:permission="android.permission.BIND_WALLPAPER"
    intent-filter
    action android:name="android.service.wallpaper.WallpaperService"/action
    /intent-filter
    meta-data android:name="android.service.wallpaper"
    android:resource="@xml/mywallpaper"/meta-data
    /service
    /application

    /manifest

    Sans oublier le String.xml :
    ?xml version="1.0" encoding="UTF-8"?
    resources

    string name="app_name"Live Wallpaper/string
    string name="my_live_wallpaper"My Live Wallpaper/string
    string name="wallpaper_description"My first live wallpaper/string

    /resources


    Remarque :


    Pour gérer les préférences de votre wallepaper, créez une PréférenceActivity qui permettra de définir les configurations de votre fond d’écran. La récupération des valeurs de vos préférences s’effectue à l’aide des SharedPreference. Pour cela, ajoutez les lignes suivantes à votre « wallpaper.xml »:

    android:settingsActivity="MyPreferenceActivity"/


    sans oublier de déclarer votre activité dans l’AndroidManifest.xml.

    Lancez maintenant votre application, sélectionnez le Live Wallpaper que vous avez créé afin d’obtenir le résultat suivant :



  • Créer un Live Wallpaper sous Android


    Conclusion


    Voila, j’espère que cet article vous à permis de mieux comprendre comment fonctionnent les live wallpapers,le code du projet est disponible ici.
    Maintenant place à votre imagination pour créer vos propre fond d’écran animés.

Read More

ViewPager sous Android : Comment slider d’un fragment à un autre

08:24
ViewPager sous Android : Comment slider d’un fragment à un autre


Nous revoici pour un nouveau tutoriel, le premier à aborder la notion de Fragment. Les Fragments ont été introduits dans la version Android 3.0 (également utilisable avec des versions antérieures) avec pour objectif de permettre une plus grande flexibilité pour les écrans larges tel que les tablettes tactiles (ce que nous verrons dans un prochain tutoriel). Notre objectif aujourd’hui est simplement de créer un joli effet “slide” entre des pages.

Qu’est-ce qu’un Fragment ?


C’est certainement la question que vous devez vous poser. On peut voir un Fragment comme une “mini-Activity” ou une portion d’une activité qui ne peut pas vivre en dehors d’une Activity. Un des aspects pratiques du Fragment est qu’il peut être facilement réutilisé d’une Activity à l’autre.

Notre projet


Comme d’habitude, je vous invite à créer un projet dédié à ce tutoriel, que j’ai baptisé TutoFragment. Je l’ai volontairement créé pour la version Android 2.2 pour y intégrer le package de compatibilité, puisqu’à la base, les Fragments viennent sont une fonctionnalité de la version 3.0.
Nous allons donc premièrement télécharger la librairie complémentaire. Pour cela, allez dans le SDK Manager en cliquant sur l’icône suivante et télécharger “Android Support”.

sdk_manager

ViewPager sous Android : Comment slider d’un fragment à un autre


Ajoutons ensuite cette librairie au projet. Pour cela, sélectionnez votre projet sous Eclipse, clic droit/Android tools/Add support library. La librairie s’intègre automatiquement au projet, ce qui nous permet d’utiliser la classe Fragment !

Les fichiers xml


Le layout principal, que j’ai renommé viewpager.xml, se présente de la manière suivante:

?xml version="1.0" encoding="utf-8"?

android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/viewpager"
/android.support.v4.view.ViewPager


La balise du composant utilisé ici a une syntaxe particulière puisqu’elle fait référence à un composant de la librairie ajoutée précédemment.

Les trois autres layouts seront les pages affichées successivement lors du slide et possèdent un code similaires. Voici le code de page_gauche_layout.xml, je vous laisse créer les deux autres par vous même (page_milieu_layout et page_droite_layout).

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

TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="20dp"
android:text="Page de gauche" /

/LinearLayout


Le code Java


J’ai renommé la classe principale en Fragments Slider Activity. Celle-ci dérive de la classe Fragment Activity qui est simplement une Activity permettant de gérer les Fragments. Le code est commenté, je vous laisse regarder.

import java.util.List;
import java.util.Vector;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;

public class FragmentsSliderActivity extends FragmentActivity {

private PagerAdapter mPagerAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.viewpager);

// Création de la liste de Fragments que fera défiler le PagerAdapter
List fragments = new Vector();

// Ajout des Fragments dans la liste
fragments.add(Fragment.instantiate(this,PageGaucheFragment.class.getName()));
fragments.add(Fragment.instantiate(this,PageMilieuFragment.class.getName()));
fragments.add(Fragment.instantiate(this,PageDroiteFragment.class.getName()));

// Création de l'adapter qui s'occupera de l'affichage de la liste de
// Fragments
this.mPagerAdapter = new MyPagerAdapter(super.getSupportFragmentManager(), fragments);

ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager);
// Affectation de l'adapter au ViewPager
pager.setAdapter(this.mPagerAdapter);
}
}


Pour passer d’une page à une autre, nous avons besoin d’un adapter (à la manière des ListView). L’adapter, appelé MyPagerAdapter dérive de FragmentPagerAdapter. Rien de compliqué, il fonctionne sur le même principe que les Adapters de ListViews.

import java.util.List;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

public class MyPagerAdapter extends FragmentPagerAdapter {

private final List fragments;

//On fournit à l'adapter la liste des fragments à afficher
public MyPagerAdapter(FragmentManager fm, List fragments) {
super(fm);
this.fragments = fragments;
}

@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}

@Override
public int getCount() {
return this.fragments.size();
}
}


Enfin, la classe PageGaucheFragment, qui dérive de la classe Fragment possède des méthodes différentes de la classe Activity.

Ici, nous allons surcharger la méthode onCreateView. Cette méthode retourne un type View, on va donc lui indiquer notre layout par le biais de l’inflater. Les classes PageMilieuFragment et PageDroiteFragment sont quasi-identiques, je vous laisse vous en occuper.

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class PageGaucheFragment extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.page_gauche_layout, container, false);
}
}


Rendu final:
page 1page 2page 2

Conclusion


Ainsi se termine notre premier tutoriel sur les Fragments, en espérant que tout soit clair. Vous pouvez trouver le code source ici.

Read More

mardi 2 juillet 2013

Les notifications sous Android Jelly Bean

03:51
Les notifications sous Android Jelly Bean


Le but de ce tutoriel est d’apprendre à utiliser les notifications sous Android, ce système facilite les interactions entre votre application et l’utilisateur lors de la survenue d’évènements particuliers.

Le système de notifications fourni une indication permettant de prévenir l’utilisateur de certains évènements (arriver d’un SMS, mail, appel en absence …).



Mise en place


Nous allons créer un projet qui comprendra deux boutons :

  • Un pour créer une notification

  • Un autre pour en supprimer


Commençons par créer un projet avec les données suivantes :

  • Nom du projet : tuto_notification

  • SDK : 4.1

  • Nom de l’application : Tuto Notification

  • Nom du package : com.tutos.android.notification

  • Activité : TutoNotificationHomeActivity


Création de la vue principale


Nous allons modifier le fichier “main.xml” afin d’avoir deux boutons.
?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"

Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/add_notification"
android:id="@+id/add_notification"
/

Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/delete_notification"
android:id="@+id/delete_notification"
/

/LinearLayout

Le fichier “strings.xml” pour rajouter les différentes strings pour le texte des boutons
?xml version="1.0" encoding="utf-8"?
resources
string name="add_notification"Ajouter une notification/string
string name="delete_notification"Supprimer une notification/string
string name="app_name"Tuto Notification/string
/resources

Voici le résultat que vous allez obtenir.


Rajouter le Listener sur les boutons


Nous allons rajouter des “Listener” sur les boutons pour gérer le clic. Ce qui donnera sur la classe “TutoNotificationHomeActivity”
package com.tutos.android.notification;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class TutoNotificationHomeActivity extends Activity {
private Button addNotificationBtn;
private Button deleteNotificationBtn;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

addNotificationBtn = (Button) findViewById(R.id.add_notification);
addNotificationBtn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
Toast.makeText(getBaseContext(), "Ajout d'une notification", Toast.LENGTH_SHORT).show();
}
});

deleteNotificationBtn = (Button) findViewById(R.id.delete_notification);
deleteNotificationBtn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
Toast.makeText(getBaseContext(), "Suppression d'une notification", Toast.LENGTH_SHORT).show();
}
});
}
}

Création d’une notification.


Nous allons créer une méthode “createNotification” qu’on appelera au clic sur le bouton “Ajouter une notification”. Voici a quoi ressemble cette méthode :
 private final void createNotification(){
final NotificationManager mNotification = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

final Intent launchNotifiactionIntent = new Intent(this, TutoNotificationHomeActivity.class);
final PendingIntent pendingIntent = PendingIntent.getActivity(this,
REQUEST_CODE, launchNotifiactionIntent,
PendingIntent.FLAG_ONE_SHOT);

Notification.Builder builder = new Notification.Builder(this)
.setWhen(System.currentTimeMillis())
.setTicker(notificationTitle)
.setSmallIcon(R.drawable.notification)
.setContentTitle(getResources().getString(R.string.notification_title))
.setContentText(getResources().getString(R.string.notification_desc))
.setContentIntent(pendingIntent);

mNotification.notify(NOTIFICATION_ID, builder.build());
}

La création d’une notification est trés simple et s’effectue en suivant les étapes décritent ci-dessous :


    • Récupération d’une instance de la classe NotificationManager

    • Créer l’intent correspondant à la vue lancée lors du clic sur la notification

    • Créer un pending intent décrivant l’intent précédant

    • Créer une notification à l’aide d’un Builder, en spécifiant le contexte, le délais de déclenchement de la notification, le titre de la notification, l’icone, le titre et la description du contenu de la notification, l’intent à lier à la notification.

    • Le déclenchement de la notification s’effectue à l’aide de la méthode notify



Je vous met l’icone que j’ai utilisé pour la notification ici.

Il suffit maintenant d’appeler la méthode dans votre code, ce qui donnera :
  addNotificationBtn = (Button) findViewById(R.id.add_notification);
addNotificationBtn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
createNotification();
}
});

Il faut rajouter la permission “Vibration” dans l’AndroidManifest.xml
uses-permission android:name="android.permission.VIBRATE" /

et les nouveaux textes dans le fichier “Strings.xml”
string name="notification"Notification www.tutos-android.com/string
string name="notification_title"Ma premiere notification www.tutos-android.com/string
string name="notification_desc"Cliquez sur moi je suis une notification/string




Jelly Bean


La version JellyBean d’Android apporte quelques nouveautés aux notifications :

  • Priorité : Ce système permet d’indiquer la priorité d’une notification, plus la notification est prioritaire plus elle sera mise en avant dans la barre de notification. Elle peut posséder l’une des valeurs suivantes (PRIORITY_MAX, PRIORITY_HIGH, PRIORITY_DEFAULT, PRIORITY_LOW, PRIORITY_MIN)

  • Nouvelles zones de contenues : Des nouvelles zones de contenus sont disponibles (bigPicture, bigText…) permettant d’enrichir vos notifications

  • Actions : Vous pouvez rajouter des actions aux notification à l’aide de la méthode addAction. Ces actions permettent d’offrir à l’utilisateur un autre moyen d’interagir avec les notifications. Ce qui permet par exemple, lors de la réception d’un appel en absence, de rappeler directement la personne ou lui envoyer un sms.


Notification.Builder builder = new Notification.Builder(this)
.setWhen(System.currentTimeMillis())
.setTicker(notificationTitle)
.setSmallIcon(R.drawable.notification)
.setContentTitle(getResources().getString(R.string.notification_title))
.setContentText(getResources().getString(R.string.notification_desc))
.setContentIntent(pendingIntent)
.addAction(R.drawable.play,"Play", PendingIntent.getActivity(getApplicationContext(), 0,
getIntent(), 0, null))
.addAction(R.drawable.pause, "Pause",
PendingIntent.getActivity(getApplicationContext(), 0,
getIntent(), 0, null));

Notification notification = new Notification.BigPictureStyle(builder)
.bigPicture(BitmapFactory.decodeResource(getResources(),
R.drawable.zoidberg_android)).build();

mNotification.notify(NOTIFICATION_ID, notification);


Suppression d’une notification


Nous allons créer une méthode “deleteNotification”, pour supprimer notre notification depuis l’application.
 private void deleteNotification(){
final NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
//la suppression de la notification se fait grâce a son ID
notificationManager.cancel(NOTIFICATION_ID);
}

Puis l’appeler dans le code Java au moment du clic
deleteNotificationBtn = (Button) findViewById(R.id.delete_notification);
deleteNotificationBtn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
deleteNotification();
}
});

Le projet sera très bientôt disponible en téléchargement.

Read More