Introduction aux Intents et récupération d’un fichier

Introduction aux Intents et récupération d’un fichier

Il se peut que vous ayez à implémenter une action redondante au système Android pour pouvoir réaliser une action. Afficher la galerie, lancer une vidéo, récupérer un fichier, … Autant de choses disponibles grâces à des applications systèmes et/ou tierces que vous aimeriez utiliser. C’est pourquoi, le système d’Intent existe. En fonction de l’action demandée, vous allez pouvoir réutiliser, en toute transparence, les fonctionnalités des autres applications au sein de la votre. Attention par contre, il se peut que l’action à appeler n’existe pas sur certains smartphones (un apperçu d’image sur certaines ROM constructeur).

Introduction

Il faut savoir que quand vous lancez une Activity ou un Service au sein de votre application, vous utilisez les Intents. En fonction de leur déclaration dans votre Manifest, vos Activities répondront à certaines actions d’intent demandées au sein de l’environnement Android. Pensez-y lors de votre développement. Mais, ne nous attardons pas trop, ici, nous allons voir comment appeler un Intent externe et non une Activity/Service interne. Sachez que les Intents (lors de l’appel d’action) sont composés de deux pièces principales :

  • l’action : l’action à appeler(ACTION_VIEW, ACTION_MAIN, …)
  • la data : un numéro de téléphone, un email, le chemin complet vers un fichier, … Lors de l’appel à une Activity ou un Service interne à votre application, ces deux éléments sont rarement nécessaires car vous savez quel Intent appeler. Les Intents ont aussi d’autres options qui sont, elles, optionnelles :
  • la catégorie : Donne des informations supplémentaires sur l’action à exécuter. Par exemple, CATEGORY_LAUNCHER signifie qu’il doit apparaître dans le Lanceur comme une application de haut niveau.
  • le type : Ici il s’agit du MIME-TYPE. Le plus souvent indiquée quaond on cherche par exemple un fichier d’un format spécial (ex : application/pdf)
  • le composant : Spécifie un nom explicite d’une classe de composants à utiliser pour l’intent.
  • les extras : Passés grâce à un Bundle, les extras sont des données qui transitent entre les intents (souvent utilisés pour passer des informations entre les activities d’une même application).

Je ne traiterai pas plus en détail la composition des intents. Google l’a très bien fait dans la documentation sur les intents. Mais je finirai quand meme par la liste des principales actions disponibles pour les Intents :

  • ACTION_VIEW : En fonction des informations passées dans les datas, ouvrira soit la galerie, la feuille d’un contact, …
  • ACTION_DIAL : Affichera le clavier téléphonique avec le numéro passé en data.
  • ACTION_EDIT : En fonction des données passées dans data, affichera le formulaire d’édition d’un évènement de l’agenda, d’un contact, …

Cas Pratique :

Récupération d’un fichier Maintenant que nous avons vu comment lancer un Intent pour effectuer une action redondante dans notre application, nous allons voir comment récupérer un fichier PDF au sein de notre téléphone. Sachez que pour réaliser ceci, nous allons utiliser l’action

ACTION_GET_CONTENT. Je pense que le nom est assez explicite pour tous. Dans le cas contraire, ça veut dire que nous cherchons les Intents pouvant nous permettre de récupérer du contenu. Voici le code nécessaire à l’utilisation d’un tel Intent :

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
startActivity(intent);

Bien évidemment, lancer l’intent avec un startActivity() lancera bien l’action désirée mais nous n’auront aucun retour. Pour pouvoir avoir un retour, nous devrons utiliser startActivityForResult() :

private static final int PICK_FILE_RESULT_CODE = 1;

//...

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
try {
    startActivityForResult(intent,PICK_FILE_RESULT_CODE);
} catch (Exception e) {
    e.printStackTrace();
}

L’utilisation du Try/Catch ici est nécessaire et prévient les erreurs si jamais aucun Intent pour l’action demandée n’existe. La variable PICK_FILE_RESULT_CODE va nous servire pour vérifier le retour de l’intent dans notre onActivityResult().

Bien entendu, vous pouvez utiliser un autre code retour. Ici il n’a que valeur d’exemple. Bien entendu, notre code est incomplet. Lancé tel quel, vous récupérerez du PDF comme du MP3 en passant par les images. Pour pouvoir récupérer uniquement du PDF, il faudra indiquer le mime-type dans la fonction setType(). De plus, même avec ceci, Android listera aussi les fichiers ne pouvant être ouvert.

Pour pouvoir les masquer, il faudra rajouter la catégorie CATEGORY_OPENABLE à notre Intent. Pour finir, avec le code actuel, Android ne vous permettra pas de choisir entre plusieurs Intent celui que vous préférez pour effectuer l’action. Pour pouvoir le faire, il faudra créer un nouvel Intent grâce au premier grâce à la méthode statique createChooser().

Le code final devrait donc ressembler à ceci :

private static final int PICK_FILE_RESULT_CODE = 1;

//...

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("application/pdf");
intent.addCategory(Intent.CATEGORY_OPENABLE);
Intent i = Intent.createChooser(intent, "File");
try {
    startActivityForResult(i,PICK_FILE_RESULT_CODE);
} catch (Exception e) {
    e.printStackTrace();
}

Attention : Il n’est pas possible de sélectionner différents Mime-Type en même temps autrement qu’avec les opérateurs ‘*’ (ex : application/*). Si vous voulez certains types de fichier il faudra effectuer les tests dans le onActivityResult().

Pour pouvoir récupérer le résultat de l’Intent et, par la même occasion, votre fichier, il vous suffira d’implémenter la fonction onActivityResult() comme ceci :

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    switch (requestCode) {
         case PICK_FILE_RESULT_CODE: {
             if (resultCode == Activity.RESULT_OK && 
                 data!=null && data.getData()!=null) 
             {
                 String theFilePath = data.getData().getPath();
             }
             break;
          }
    }
} 

Attention : Si vous lancez l’Intent dans un Fragment avec getActivity().startActivityForResult(), il faudra implémenter onActivityResult() dans l’Activity du Fragment. Si vous lancez l’intent sans le getActivity(), vous devrez implémenter le onActivityResult() dans le Fragment.

Conclusion

Maintenant vous savez utiliser en partie les Intent pour effectuer des action déjà existantes au sein de l’écosystème Android. Sachez que vous pouvez changer facilement le type d’applications lazncées dans l’exemple juste en changeant le Mime-Type. Essayez de récupérer une image pour voir.

Bref, pour en revenir à une vrai conclusion, l’une des forces majeures d’Android reste son système d’Intent. Vous pouvez facilement récupérer des données systèmes et utiliser des applications tierces grâce àcette méthode et grâce aux droits associés. (Essayez de lancer un appel téléphonique sans l’autorisation nécessaire et c’est le drame). Toutefois, n’en abusez pas trop et, vérifiez avant leur utilisation si vous êtes certains que telle ou telle action est disponible sur tous les Devices.

Selon certaines ROM de constructeurs (oui, toi SAMSUNG, et toi Orange), certains Intent systèmes ont été tout bonnement et simplement supprimés et non remplacés.

La Droidcon de Londres… J’y étais !

La Droidcon de Londres… J’y étais !

Salut à tous, je me suis rendus à la Droidcon à Londres le 25 et 26 octobre.

Première fois à Londres et première Droidcon, accueil chaleureux et beaucoup de contacts.

Il y avait une hackaton de prévu le 27-28, mais j’aurais pas su la faire 🙁 dommage…

Petit tour rapide histoire de voir les exposants, premier arrêt autour d’une entreprise qui a créé une application nfc, pour enregistrer le wifi et s’y connecter.

Ensuite arrêt direct chez Ubuntu, le fameux système qui est en binôme avec Android (sur un smartphone).

J’ai pu le tester et franchement impressionnant. Si j’ai bien compris, les deux systèmes communiquent les données, non pas un dual boot ni un qui supporte l’autre.

Ils utilisent tous les deux le même kernel, mais quand on est en « smartphone » on est sur Android, part contre quand on a le hdmi connecté (version dock = télé, et il faut un hdmi donc Asus padfone2, pourrait être parfait pour tester ce mode) il reconnait l’écran plus grand et switch presque instantanément sur Ubuntu.

Vraiment impressionnant.

Ubuntu accède ‘facilement’ aux données de l’appareil (contact etc), et ne communique pas avec le hardware du téléphone (le téléphone est un peu comme briqué), il ne peut pas faire une visio-conférence, il ne peut pas envoyer un texto, mais peu le préparer.

Ensuite petit tour vers nos amis les français, Alcatel (ils étaient à côté), j’étais plutôt surpris de ce qu’ils font.

Plusieurs tablette 7′, quelques smartphones 4-5′, mais une des grandes nouvelles et attentes… c’est premièrement un one touch sous Windows Phone 7.5 (ensuite upgradé 7.8).

Mais la plus grande nouvelle est qu’ils travaillent avec Firefox Mobile !  Une annonce officielle sera faite part Mozilla (car ils veulent gérer la comm) courant 2013 !

Ensuite je suis allez du côté de chez Sony (qui était fort demandé ce jeudi).

Quelques tablettes, smartphones en présentation, une google Tv aussi, des tags-badges NFC et des smartwatch.

J’ai demandé a voir deux téléphones en particulier, le premier est bien sûr le Xperia T, le téléphone de James Bond, ils s’en vantent beaucoup…

Très impressionnant comme téléphone, la surcouche me déplaît fortement, mais le téléphone en lui même est beau.

Je l’ai un peu comparé à mon Nexus, pour la taille il est pratiquement identique, l’écran est fort agréable et l’APN est violent (13m px).

Le deuxième que je voulais tester au plus vite, était le Sola. C’est le seul smartphone de la gamme Xperia à avoir la technologie Floating Touch. Malheureusement pour ce dernier, il n’était pas là aujourd’hui, peut-être demain !

J’ai posés quelques questions, le pourquoi intégrer de tel technologie (Floating touch, et l’écran qu’on peut voir plus facilement en plein jour (évite les reflets je crois)…) si ce n’est que dans un seul de la gamme.

La réponse était très claire, la demande n’est pas là. Il est vrai que cette technologie (FT) n’est que pour les geek/technophiles qui vont l’utiliser ou créer des app spécialement pour cette techno. Mais ça sera extrêmement limité et très rare. Ils en sont conscients et pensent à l’intégrer plus tard dans de futur version, mais rien n’a été promis.

Ensuite je partais à la Droidcon pour pouvoir trouver des contacts et surtout parler de mes compétences, quel meilleur endroit pour poser des questions, montrer ce qu’on a déjà réalisé et voir les retour des autres développeurs/commerciaux.

J’ai plutôt été bien accueillis de ce côté là, je n’ai peut-être pas écrit une application qui gère un jeu en multijoueur interconnecté en live (un jeu de air hockey sur android online et multi… époustouflant), mais je me débrouille pas mal.

C’est surtout le fait de toucher à tout. Mon application driver qui touche à la signature (dessin sur une feuille blanche), le scan avec le code barre, les listes complètement custom, l’intégration correcte de l’action barre et surtout la gestion NFC et l’application qui écrit les tags NFC.

Tout cela en quelques app présentées, sans parler en arrière plan d’un service qui enregistre les déplacement et les envois en json dans un soap sur un webservice.

Je me suis sentis moins « inutile », quand tu travailles avec les mêmes personnes, tout le monde trouve normal ton travail.

Après avoir discuté avec les gars de Sony, il y en a un qui a présenté la montre SmartWatch à un visiteur.

J’ai pu découvrir en vrai la montre et sa puissance gadget.

Après son petit discours, il lui dit que s’il a une idée d’application et qu’il peut la créer, alors il peut peut-être repartir avec une montre offerte.

Le mec pas intéressé (ou pas dev…) refuse et part, c’est là que j’ai directement intervenu, je me suis dis « c’est ma chance ! »

Après avoir expliqué mon idée d’application, plutôt basique (quoique…), il avait l’air plutôt convaincu.. il ma amené alors à un des développeurs de chez Sony (qui a du écriré les app test de la Smartwatch et/ou un des développeur du SDK).

Je lui explique mon idée d’application et là consécration, il me dit que l’idée est originale et intéressante. Mais il veut connaitre mon expérience et mes applications sur le market.

Aie, grosse erreur de ma part, je n’ai toujours rien posté sur le play store…

Je lui explique que je bosse pour une société de logistique, et donc toutes mes applications sont seulement pour l’interne.

Mais je me lance comme un bourrin et ouvre une application au hasard, la première que je lui montre est WriteNFC, une simple app qui récupère une liste d’objet json et en fait une liste, et j’écris à la chaîne les tags NFC. Simple efficace pour mon boulot, ensuite je lui présente vite fait Driver.

Je lui montre la signature, la possibilité de gérer les photos et autres fonctionnalités sans rentrer dans le détail.

Il voit que je m’y connais, il me dit « ok tu m’as convaincu » et m’offre la Smartwatch.

J’ai essayé de gratter un xperia T en disant que j’avais déjà les Tags nfc + la smartwatch… tant qu’à faire, autant avoir tout de chez Sony… (Un Sony Xperia Nexus maybe ?) Et bha ça n’a pas marché 🙁 j’retenterai demain !

Ensuite j’ai suivi la conférence de Cyril Mottier juste avant de manger, il présentait sa librairie de Polarus.

Il a expliqué une fonctionnalité qui allait arriver dans la prochaine version de Gmap, le « double tap scroll ».

L’idée est simple, double taper dans gmap vous fait zoomer.

Alors comment faire pour dézoomer… Sans utiliser le pinch to zoom, l’idée de pincer pour dézoomer est peut-être plus facile, mais avec une main, dézoomer c’est impossible.

Google travail sur cette fonction, il s’agira de double taper l’écran comme pour un zoom mais juste après refaire un tape (donc 3 tape) et scroller vers le bas ou le haut.

On aura l’effet du zoom/dé zoom avec une seule main. (Update: c’est déjà dans la dernière version … mea-culpa)

On a mangé des trucs infecte (mélange de gout bizarre… un quiche Lorraine avec du fromage bleu, un sandwich avec du fromage et du safran ou curry je sais pas…)

Ensuite j’ai joué un peu avec ma montre histoire de reposer mes pieds…

J’ai suivis une conférence SDK Smartwatch (bah oui fallait bien) et une autre OpenCV. Qui est un framework qui gère la reconnaissance et le suivis de point défini dans l’application…

Le lendemain, c’était du full conférence, toutes intéressantes, sauf deux. La première est la conférence SDK Android pour Facebook…. où je m’étais trompé de salle -_-… La deuxième était en

rapport avec le NFC « NFC Yep », mais c’était plutôt un gros trollage de la part d’un mec qui c’est reconvertis en financier-analyste-ancien de l’industrie musical.

Gros pro-Apple, il n’a pas arrêté de dénigré le NFC en le comparant au bluetooth 4.0 et le QRcode.

Des statistiques dont il prouvait que le NFC était très peu utilisés (pour une techno jeune de 2 ans, tu m’étonnes…) et qu’elle ne survivrait pas les prochaines années.

Cela ma rappelé l’analyste financier qui avait dit que Google allait se casser la gueule dans 5 ans et qu’on l’oublierait… pathétique.

Les conférences que j’ai suivies sont;

-Fly-in-app de Cyril Mottier.

-Polarus de Cyril Mottier.

-Fragment transition par Corey Latislaw.

-Custom view par chiu-ki Chan.

-NFC par Mark Murphy.

-AndroVM par Daniel de Genymobile.

-SDK for smartwatch de Sony.

-OpenCV … un peu tard, j’ai pas tout vu.

Fly-in-app est un peu ce que je voulais réaliser pour Driver. Un menu qui slide depuis la gauche pour afficher des options ou activités.

Je voulais y mettre la proposition de commentaire sur la tournée, ajout d’arrêt, la feuille de prestation et autres.

Polarus est une implémentation de gmap, qui est supposée rendre plus facile l’utilisation de la map pour l’utilisateur et le développeur.

Fragment transition était un best-practice pour les fragments. Malheureusement je n’ai jamais touché aux fragments, mais ça ma donnée envie de tester ça.

Custom view ma bluffé, Chiu-ki nous a montré la création de vue (elle étend la textview ou autre), elle a réalisé une bibliothèque complètement dynamic et taillés pour tout les écrans.

Elle a fait du très gros travail, et joue beaucoup avec les canvas, les dessins…

NFC par Mark Murphy ne ma rien appris, mais sa présentation était très bien réalisée. Il a créé une petite histoire avec un agent secret appelé Jimmy B. (Jelly Bean) et il devait partager des informations sans traces. Quoi de mieux que le NFC !

AndroVM… En réalité la fluidité et les options futures m’ont bluffés… Pire que Chiu-ki. Daniel a utilisé une virtual machine (virtual box) pour émuler un Android basé sur x86 d’Intel !

Il a réussi a le faire communiqué avec l’adb, mais c’est pas tout… Il connecte son devices via un câble USB et arrive a émulé le gyroscope dans l’émulateur. En gros, il pouvait jouer avec un jeu d’équilibre via son téléphone dans l’émulateur. Il n’affiche pas l’écran du devices mais capte les données du téléphones pour les envoyer dans l’émulateur…

Il parrait que c’est la même technique utilisée pour la Google TV.

SDK Smartwatch, comme son nom l’indique, était pour initier au travail sur la smartwatch de Sony.

OpenCV, je suis arrivé tardivement, mais c’était assez bien foutus. Part contre la tête dans le pâté je m’en souviens que brievement.

Voilà, pour la plus part c’était génial, je vous mets les liens des différentes conférences / slides pour que vous puissiez voir de votre côté !

Page Google+ de DroidConUK ; https://plus.google.com/events/c1fvg4vhfdvl3ogguq3o7lftlm8

Slide de Mark Murphy: http://www.slideshare.net/commonsguy/beaming-data-to-devices-with-nfc

Slide de Cyril Mottier : à venir.

Slide de Chiu-ki Chan : http://www.sqisland.com/talks/deep-dive-android-custom-components/#1

Slide de Corey Latislaw : http://prezi.com/fh2uslbr1xs3/the-fragment-transition/

Bon dimanche !

Toast et Crouton, sortez vos grilles-pains !

Toast et Crouton, sortez vos grilles-pains !

by Fritte7 0 Comments

Bonjour à tous,

Je vais parler prochainement de plusieurs façon d’interagir avec l’utilisateur, pour l’informer, lui demander une confirmation ou autre. Dans un premier temps, je vais parler d’interaction passive, via Toast et Crouton, pour informer l’utilisateur. Plus tard nous parlerons de Dialogue et Notification. Qui sont, eux, des interactions active avec l’utilisateur, pour demander une confirmation, ou une action spécifique.

Pour reprendre les mots de Benjamin, il y a des ‘Best practice’ :

Quand vous êtes dans une activity, seul le toast, crouton ou une dialogue peut-être soulevée. Quand une action extérieure, ou venant d’un service a besoin d’informer l’utilisateur, utilisez la notification.

Aujourd’hui je vais vous parler cuisine, avec Toast et Crouton… Ha … On me dit dans l’oreillette que je ne suis pas sur le bon blog… Ce n’est pas grave, je vais parler de Toast et Crouton sur Android !

(Il ma fallut 2 mois et l’utilisation de crouton pour comprendre le jeux de mot personnellement…)

Le toast est une des façons d’informer l’utilisateur des actions qu’il a réalisé, où qui se serait produite en tâche de fond, qui n’a pas besoin d’interaction avec l’utilisateur. Je m’explique, quand je demande l’utilisation du GPS, mais que ce dernier est éteint, je demande l’activation via une dialogue. Comme mon précédent post (voir ici)

A la différence, un toast ne propose pas d’interaction, quand vous activez votre code pin (pour débloquer la carte sim) il vous annonce « code accepté » ou « carte sim débloqué ». Ou quand vous envoyez un tweet, il peut vous dire « Tweet bien envoyé », ça reste une information.

]1 Voici ce que donne un Toast beurré.

Cela à des avantages, mais quelques inconvénients. Si vous devez informer le client d’une exception soulevée, le toast est relativement discret et ne reste pas très longtemps affiché. Mais vous ne pouvez pas bloquer l’utilisateur avec une dialogue, car la dialogue demande une interactivité (un « ok » ou « annuler » pour la terminer).

Crouton, une librairie open-source, est une solution très facile à mettre en place, pour remédier à ce petit problème. Sans compter qu’il est beaucoup plus visible que son prédécesseur. Ce dernier s’utilise exactement de la même façon qu’un toast. Je lui ai trouvé deux défaut majeur.

]2 Allo Huston? On a un problème.

Le premier est qu’il est affiché sur la vue d’où il est appelé, en résumé, quand vous réalisez un crouton sur une dialogue, il est affiché sur le header de cette dernière. Cela peut-être plus visible mais si vous fermez directement la dialogue en lançant le message crouton avant, vous ne verrez pas le message car la dialogue sera fermée. A l’instar du Toast qui sera visible même si vous fermez l’application.

Le deuxième est qu’il demande une activity, dont je préfère largement l’utilisation du context, plutôt que l’activity elle-même. Mais c’est une question d’habitude. (Pour marquer l’utilisation de context, le lancement du Toast, la création d’une activity, une dialogue et même une notification, un context suffit amplement. Mais je pense que cela peut-être modifiable.) Voyons le code pour générer un Toast.

Toast.makeText(getApplicationContext(), "Toast de base", Toast.LENGTH_LONG).show();

Le premier paramètre est le context, le second un text qui peut-être enregistré dans le fichier strings, dans le dossier value (récupérable via getString(R.strings.votretext)).

Le dernier paramètre est le temps d’affichage (LONG ou SHORT).

Voyons Crouton maintenant.

Crouton.makeText(this, "Crouton INFO !", Style.INFO).show();

Les paramètres sont, l’activity, le texte, et un style. Le style est défini dans le projet de Crouton, qui pour rappel sont quatre simple fichiers.

Il y a 3 styles défini de base; Info, Alert, Confirm. Info et Confirm seront affichés durant 3 secondes, Alert sera affiché 5 secondes. Chacun a sa propre couleur, info est bleu, confirm vert et alert en rouge.

J’ai réalisé un projet, récupérable à cette adresse. Merci pour la lecture, et bonne journée !

Tout pour bien commencer un projet

Tout pour bien commencer un projet

by Throrïn 11 Comments

Bonjour à tous. Aujourd’hui, nous allons voir quelles sont les ressources indispensables pour bien commencer un nouveau projet Android que ce soit niveau graphique que fonctionnel ainsi que les ressources disponibles pour la publication (création de visuels simples, …).

TheUltimateAndroidLibrary.com

Parfois, il est difficile de trouver si une fonctionnalité a bien été développée pour la plateforme et surtout si on peut la réutiliser pour notre projet. C’est pour ça que le site « The Ultimate Android Library » a été créé. Ce site est un vrai répertoire de libraries pour Android. Vous trouverez une bonne partie des différents projets disponibles pour rajouter des fonctionnalités (gestion des rapports d’erreur, implémentation des différents patterns java/Android, …). Ce site est encore jeune et ne référence peut-être pas toutes les libraries existantes. Si vous en trouvez d’autres, n’hésitez pas à les leur donner afin que le site soit plus complet.

Site : http://www.theultimateandroidlibrary.com/
 

FluidUi.com

Vous souhaitez créer des mockups facilement pour telle ou telle plateforme ? Pour Smartphone mais aussi pour tablette ? Alors FluidUi est fait pour vous. Parmi tous les sites de mockup en ligne que j’ai pu tester, FluidUi est sans doute le plus simple d’utilisation mais aussi le plus complet. En plus, vous pouvez même créer des vidéos fonctionnelles pour montrer comment va fonctionner votre application. Bref, un site à garder dans vos favoris si vous voulez poser sur papier une idée et aller plus loin.

Site : https://www.fluidui.com/
 

Android App Patterns

Vous ne savez pas comment mettre en forme les empty views de vos différentes listes ou encore comment faire un visuel du pattern Dashboard assez sympa ? Alors le site Android App Patterns est fait pour vous. Dessus vous trouverez des idées pour mettre en forme les différents patterns, que ce soit pour smartphone ou pour tablette, grâce au visuel de plusieurs applications.

Site : http://www.android-app-patterns.com
 

Testeur GCM

Vous voulez tester le service GCM pour effectuer un push sur vos applications mais vous n’avez aucun serveur pour effectuer le dit test ? Alors je vous conseille de faire un tour sur ce site. Ce site va vous permettre d’effectuer des alertes GCM pour vos applications. Pour que cela fonctionne, n’oubliez pas de suivre l’introduction sir le site d’Android afin d’obtenir votre apiKey. Bien entendu, je conseille cette solution que pour vos tests de développement.

Site : http://gcm-alert.appspot.com/
 

Android UI Patterns

Cette fois ci, il ne s’agit pas d’un site de ressources mais d’une application. Dans le même genre que TheUltimateAndroidLibrary, Android UI Patterns va recenser la plupart des libaries existantes vous permettant d’utiliser les différents Patterns UI disponibles (même certains portages iphones). Vous verrez le rendu final de la library via une démo de celle-ci ainsi qu’un lien vers les sources du projet pour que vous puissiez l’utiliser.

Site : https://play.google.com/store/apps/details?id=com.groidify.uipatterns
 

Android Asset Studio

Android Asset Studio est une suite de ressources pour vos projets Android. Vous pouvez générer les icônes de vos applications, faire facilement des 9patch, générer des styles pour les actionBar ou encore générer des visuels de téléphones avec les screens de vos applications. Bref cette petite boîte à outil est celle qu’il vous faut impérativement. En plus, certains ce ces outils sont intégrés au fur et à mesure au sein du site Android Developer (pour le moment il y a juste le Device Frame generator).

Site : http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

 

Voilà, normalement avec tout ceci vous êtes parés pour commencer un bon projet. Si vous trouvez d’autres sites ou que vous en avez un intégrant un grand nombre de ressource utiles dans le style de ceux-ci, n’hésitez surtout pas à poster un commentaire pour en parler. Je l’ajouterai certainement à la liste des existants.

Personnalisez votre Tablette Android

Personnalisez votre Tablette Android

by Throrïn 0 Comments

Vu que certaines personnes sont encore en vacances et que d’autres ont sûrement sautés sur l’occasion des baisses de prix sur les tablettes pour en acheter une, j’en profites pour faire un article estival sur la personnalisation du bureau de celle-ci simplement grâce à Photoshop et un peu d’imagination couplée à de l’huile de coude. Bien entendu, le root de la tablette n’est pas nécessaire ici.

Ce week-end, en me baladant sur le forum d’XDA developer, je suis tombé sur un post de personnalisation des tablettes intéréssant. Il permettait d’utiliser le design des vignettes de Google Now pour mettre en valeur certaines applications. Bien entendu, les vignettes sont fixes et ceci permet juste de créer des écrans thématiques comme celui-ci :

Cela donne un côté assez sobre non?

Assez sympa n’est-ce pas ? Pour réaliser cela, nous allons avoir besoin d’une vignette (disponibles dans l’archive prévue à cette effet en fin d’article) et d’une application particulière : Desktop Visualizer.

Après l’avoir installer, il ne nous reste plus qu’à effectuer les 6 étapes suivantes pour chaque vignette :

  1. Sélectionner le widget Desktop Visualizer de la taille souhaitée (2×1, 2×2, 3×2) et le placer sur votre Home à l’endroit désiré.
  2. Cliquez dessus.
  3. Sélectionnez dans la case icône, la vignette rattachée.
  4. Sélectionnez dans le champ APP l’application cible.
  5. N’oubliez pas de supprimer le label du widget.
  6. Validez et profitez.

Après, libre à vous de partir sur autre chose de complètement différent mais l’idée est là. Bien entendu, ceci ne se limite pas aux tablettes, vous pouvez aussi les utiliser sur votre bon vieux smartphone. La seule limite à ceci reste votre imagination.

On peut faire des écrans thématiques : ici pour les jeux

Vous trouverez aussi en pièce-jointe les PSD utilisés pour la réalisation des vignettes. En espérant que cet article vous aura rafraîchis par cette canicule.

Source : http://forum.xda-developers.com/showthread.php?t=1794763