Tag Archives

30 Articles
Kitkat goût Nexus 4 (toutes MAJ)

Kitkat goût Nexus 4 (toutes MAJ)

by Throrïn 3 Comments

Vous n’êtes pas sans savoir que depuis 4 jours la mise à jour OTA (over the air), vers android Kitkat, est en cours de déploiement. Et bien sachez que depuis hier, des gens de chez XDA ont récupéré ce lien vers le fichier de la mise à jour et, grâce à ça, nous pouvons passer à KitKat via la commande ADB.

Prérequis

Tout d’abord, vous devez avoir le SDK android d’installé et configuré sur votre poste. Pour les utilisateurs d’OSX, je les invite à se rendre sur mon article dédié. Vérifiez ensuite que la commande adb est disponible en tapant juste adb dans votre terminal (pour les plus malchanceux : utilisateurs windows, vous devez le taper dans la console).

Vous devez aussi avoir un nexus 4, toujours en ROM stock avec le recovery de base et non rooté

Liens de l’OTA

Deux liens sont à disposition. Je les indique ici par le numéro de build source vers celui de l’OTA. Le numéro source est pour celui présent sur votre Nexus dans paramètres -> à propos du téléphone -> numéro de build

Mise à jour

Maintenant, suivez les instructions suivantes pour une mise à jour sans risque :

  • Téléchargez le fichier de l’OTA vous concernant
  • Renommez le en update.zip
  • Si vous êtes sous Windows, placez le au même endroit que la commande adb.exe
  • Dans la console/terminal, placez vous dans le répertoire de votre fichier update.zip
  • Vérifiez que le débogage USB est activé sur votre nexus (se trouve dans les options pour développeur)
  • Branchez votre nexus sur votre PC en USB et tapez la commande adb reboot recovery
  • Quand le bugdroid apparaît à l’écran, appuyez sur le bouton Power puis en même temps appuyez brièvement sur le bouton volume Haut
  • Le menu du recovery apparaît, sélectionnez apply update from adb puis validez avec le bouton POWER.
  • Tapez la commande adb sideload update.zip puis allez prendre un café.
  • Quand c’est terminé, sélectionnez reboot puis reprenez un café car vous en avez pour un moment

Et voilà. Vous êtes sur la toute dernière version d’Android.

Source

Updates :

  • 06/12/2013 : Ajout de l’update 4.4.1
  • 09/12/2013 : Ajout de l’update 4.4.2
  • 05/06/2014 : Ajout de la version 4.4.3
Dev, Android et OsX

Dev, Android et OsX

by Throrïn 2 Comments

La semaine dernière, j’ai profité de la sortie d’OSX Maverick pour réinstaller proprement tout mon macbook. Et, venant tout juste de terminer l’installation de l’environnement de développement Android, je me suis dis que j’allais vous partager la bonne méthode pour mettre en place le votre.

Prérequis

  • Avoir une version d’OSX supportant Homebrew.
  • Un mac avec cette version d’OSX (le CD tout seul ou bien la clé ne vous aideront pas).
  • Un mug avec la boisson chaude de votre choix. (Petite préférence pour un thé de Noêl vu le temps).

Homebrew

Qu’est-ce qu’Homebrew? Pour répondre à cette question, je vous laisse lire directement ce qu’ils marquent sur leur site :

Homebrew installe ce dont vous avez besoin et qu’Apple n’a pas installé.

Homebrew va donc nous permettre d’installer tout ce dont nous avons besoin. Il s’agit dun gestionnaire de paquets (en gros), dans le genre d’apt-get sur Ubuntu, permettant d’installer donc facilement certaines librairies, logiciels, … simplement (mongodb, …).

Pour l’installer, rien de plus simple. Il vous suffit de rentrer la ligne suivante dans votre terminal avec un utilisateur disposant des droits d’administration :

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

MAJ, installation du SDK, …

Avant de continuer, il est requis de mettre à jour homebrew grâce à la commande suivante :

brew update

Quand la commande est terminée, nous allons installer tout le nécessaire (et même plus) pour le développement Android :

brew install android ant maven gradle

Cette commande va nous installer :

  • Ant
  • Maven
  • Gradle
  • Android SDK

Une fois que tout est terminé, vous aurez juste à lancer android dans votre terminal pour vous retrouver avec le gestionnaire d’installation des versions, extras, …

Un petit coup de GenyMotion ?

Maintenant, nous allons installer VirtualBox et GenyMotion afin de pouvoir tester nos applications directement sur notre mac sans avoir à jouer à Hearthstone le temps que le simulateur de base ne réagisse à notre action.

Bref, pour revenir sur Genymotion, il faut savoir qu’il permet de simuler, via une machine virtuelle, un device Android du type de votre choix (tablette, phablette, smartphone, nexus 4, 5, 7, …). Donc, je vous conseille fortement de l’installer de de travailler avec pour vos développements.

Pensez aussi à prendre l’intégration de Genymotion pour Eclipse ou Android Studio selon l’IDE que vous utilisez.

Et l’IDE ?

Comme je viens de vous le dire, c’est à vous de choisir entre Eclipse, IntelliJ et Android Studio. Je vous conseillerai quand même de prendre Android Studio ou IntelliJ car Eclipse commence à se faire lourd pour rien et dès qu’un projet devient trop important, il se met à planter trop souvent.

De plus Android Studio et IntelliJ gèrent nativement les projets gradle et possèdent même une intégration avec GitHub.

Node Sender Preview

Node Sender Preview

Hello Everyone.

Today I’ll show you the preview of Library NodeJS I’m doing: Node-Sender

This library can simply send a Push to devices running Android, iOS, Blackberry or Windows Phone. For the moment, only the Android GCM Push is functional. Others should follow shortly. Similarly, for now you can not install this module via NPM. That will come when I finish all platforms.

Android Quick Start

var Sender = require('node-sender');

var sender = new Sender();

sender.send(
    Sender.TYPE_ANDROID,                // OS type
    { msge : "Test Message NodeJS" },   // message to send
    "Registration Id",                  // phone registration id(s)
    { apiKey : "Api-Key GCM" },         // settings
    function(err, response){            // callback
        console.log(err);
        console.log(response);
    }
);

Download

If you are curious and want to test this library, you can find it on my Github repository.

Android Validator 1.0 Released

Android Validator 1.0 Released

Android-Validator

Form Validator Library for Android

Presentation

Form Validator Library for Android is based on Zend_Validator coded in PHP. This library is intended to simplify and streamline the code to validate a form Android. For the moment, the form can just handle the EditText. Other elements will emerge in future versions.

License

Warning

With Android 4.2, the error display has undergone a display bug. Sometimes, the error fields do not appear in the display. I hope that Google will repair this problem quickly due to Android in itself and not the library.

Use

Form Validator Library is composed of 3 members :

  • Form : Contains all beings validates to treat. This is the Form that manages the display of error messages in the various elements.
  • Validate : Contains all the validators to be treated for a given element.
  • Validator : Can define a validation rule.

Validator

The validator is basic class for this library. It contains specific validation rules. To instanciate validator, you just have to do this (EmailValidator for example):

new EmailValidator(context);

For some validators, functions can change the validation rules. The validator currently contains three basic validation rules:

  • EmailValidator : Ensures that the field does contain a email address. You can also define a regex to check for a particular domain name with the function setDomainName(DomainRegexp). Example for gmail.com domain : setDomainName("gmail\\.com").
  • NotEmptyValidator : Ensures that the field is not empty.
  • UrlValidator : Ensures that the field is a valid url.
  • AlnumValidator : Ensure that the feld has Alnum characters.
  • HexValidator : Ensure that the field has Hex characters.
  • RegExpPattern : Ensure that the field does match setted Pattern.
  • Custom Validator : You can create your own Validator. To do this, you can just create class extends AbstractValidator :

    public class CustomValidator extends AbstractValidator
    {
        // Your custom error message
        private int mErrorMessage = R.string.validator_custom; 
    
        public CustomValidator(Context c) {
            super(c);
        }
    
        @Override
        public boolean isValid(Object value) {
            // Your validation Test is here.
            // Retour true if it's correct, false if it's incorrect
            return true;
        }
    
        @Override
        public String getMessage() {
            return mContext.getString(mErrorMessage);
        }
    }
    

Validate

The pure Validate class is a FIFO validator. It’s test a list of AbstractValidator for specific EditText. For some special cases, Validate is not enough. This is why there are specific validates. This is why there are two individuals with a Validate operation different from that base :

  • ConfirmValidate : Can check whether a value is identical between the two fields. Can be used to confirm the entry of a password.
  • OrTwoRequiredValidate : If one of the two target fields has a value, then it is valid. Can be used if a user must give his phone or fax.
  • Validate : The base Validate. It creates his validators stack.

Basicly, Validate can only handle a single EditText. If you want to manage several at the same time, see if ConfirmValidate or OrTwoRequiredValidate match your problem. If this is not the case, you may need to create your own Validate. To instantiate a Validate, you just have to do this:

Validate emailField = new Validate(email);

And to add Validator stack, for example to add a required Email field, you have to do this:

emailField.addValidator(new NotEmptyValidator(mContext));
emailField.addValidator(new EmailValidator(mContext));

Form

The Form class is the class teacher of the whole Library. It manages the processing of each Validate, Validator and displays the error on the EditText automatically. The Form class stores a Validate stack and then you just have to run the validation with the validate() function. To instanciate Form and add Validates, you have to do this :

Form mForm = new Form();
mForm.addValidates(emailField);
mForm.addValidates(confirmFields);
mForm.addValidates(urlField);

// ...

// Launch Validation
if(mForm.validate()){
    // success statement
}else{
    // error statement like toast, crouton, ...
}

Changelog

  • 0.1 : Create library
  • 0.2 : Add ConfirmValidate and OrTwoRequiredValidate
  • 0.3 : Extends EmailValidator with setDomainName()
  • 0.4 : Replace Validator by AbstractValidator
  • 0.5 : Fix bug in UrlValidator
  • 1.0 : Add AlnumValidator, HexValidator, RegExpValidator, ValidatorException. Fix Validate class.
Migrer sur IntelliJ ses projets Android

Migrer sur IntelliJ ses projets Android

Juste avant vos fêtes de Noël, je vous propose un petit article tout simple vous présentant l’IDE alternatif IntelliJ. Nous allons voir ses fonctions principales et comment migrer votre développement dessus. Bien entendu, cet IDE est disponible gratuitement au téléchargement si vous optez pour la version Community Edition. Heureusement pour nous, elle suffit amplement au développement Android mais, si vous voulez aller plus loin dans le développement JAVA en utilisant certains frameworks, vous devriez certainement opter pour la version Ultimate.

Présentation

IntelliJ est un IDE java développé par la société JetBrains. Cet IDE est, comme Eclipse, Netbean, … codé en JAVA et disponible sur toutes les plateformes (Windows, Mac et Linux). Comparé aux autres IDE, IntelliJ est pensé pour développer QUE des applications JAVA et Android (bon ok, Android c’est aussi du JAVA mais passons). Depuis sa dernière version  en date, la 12.0, IntelliJ se dote d’un thème Dark et d’une meilleure compatibilité avec le développement Android. Il intègre un outil de création de vues aussi complet que celui fourni par l’ADT dans Eclipse. De plus, cet éditeur comprend la compatibilité avec la plupart des frameworks JAVA ainsi qu’une compatibilité avec ANT.

Enfin un IDE qui ne flash pas quand on développe dans une cave.

Enfin un IDE qui ne flash pas quand on développe dans une cave.

Personnellement, cet IDE semple beaucoup plus léger qu’Eclipse et consort. De plus, sur de gros projets Android, nous n’avons plus d’OOM lors de la compilation (arrivée plusieurs fois sur Eclipse si je laisse le .ini de base). Bref, si vous devez choisir un IDE, je vous conseillerai de tester celui-ci avant votre choix définitif (et qui sait, peut-être qu’un nouvel IDE mettra la barre encore plus haut dans un futur proche). Si vous voulez des renseignements supplémentaires, au lieu de bêtement copier/coller la présentation du site via Google Trad, je vous conseille de vous rendre ICI.

Importation de mes anciens projets

Maintenant, nous allons nous attaquer à ce que vous allez certainement faire si vous voulez continuer vos projets en cours sur cet IDE. Pour cela, vous avez plusieurs possibilités :

  • Ouvrir directement le répertoire du projet sur votre PC
  • Checkout depuis différents dépôts de version : Git/GitHub/SVN/Mercurial/CVS

Après avoir importé votre projet, vous devez indiquer quel SDK est utilisé pour votre projet. Pour cela, vous devez aller dans les paramètres du projet disponibles directement dans la barre d’actions.

Le bouton est entouré en rouge

Le bouton est entouré en rouge

Ensuite allez dans la partie Project puis sélectionnez votre SDK. De base, vous devriez en avoir aucun. Il va faloir les rajouter. Cliquez donc sur le bouton New et ajoutez d’abord le JDK puis ensuite rajoutez le ou les SDK Android dont vous avez besoin.

Quand vous avez votre SDK, sélectionnez le.

Quand vous avez votre SDK, sélectionnez le.

Il vous fautra aller ensuite dans la partie Module puis rajouter le module Android à votre projet. Si vous oubliez cette partie le projet ne compilera jamais car il manquera la partie gen, la classe R et toutes les libraries externes.

Voilà, notre module est ajouté

Voilà, notre module est ajouté

Si votre projet vient d’Eclipse, il se peut que vous ayez deux libraries vous notifiant une erreur. Il s’agit de libraries rajoutées automatiquement par ADT pour qu’Eclipse puisse parcourir le SDK. Supprimez les simplement puis validez. Normalement votre projet devrait compiler.

Maintenant il faut aussi faire une configuration pour lancer vos applications sur l’émulateur et/ou un appareil Android. Pour cela, cliquez sur la flèche à gauche de Play puis sur « Edit Configurations ». Une nouvelle fenêtre apparaît. Cliquez sur le « + » puis sur Android Application. Sélectionnez en Module votre projet puis ensuite réglez le reste comme bon vous semble. Appliquez et c’est bon. Maintenant vous pouvez lancer votre projet.

Simple non?

Simple non?

Vous avez autant de réglages que sur Eclipse

Vous avez autant de réglages que sur Eclipse

Conclusion

Vous savez maintenant continuer vos différents projets Android sur IntelliJ. Seul défaut, cet IDE ne gère qu’un seul projet par fenêtre. De plus, je n’ai pas encore essayé les Libraries Projets donc je ne peux pas dire si ça marche ou non. Espérons que Google fournisse enfin un outil pour convertir ses projects libraries avec ressources en JAR comme pour son SDK et les googleAPI.

Bref, si vous ne savez pas quel IDE utiliser ou si vous en avez marre d’Eclipse, de ses bugs et de ses lenteurs légendaires, je vous conseille vivement d’essayer et d’adopter IntelliJ comme je viens de le faire. 

Fritte et moi nous vous souhaitons un Joyeux Noël