Utiliser les préférences partagées en Flutter

Lorsque nous développons une application mobile, il se pose toujours à un moment ou un autre la question de la persistance des données.

Pour cela, plusieurs solutions existent: base de données, fichiers… et les SharedPreferences. C’est cette dernière méthode que je vais vous présenter aujourd’hui, sous Flutter. Pour la même chose en Swift, c’est par ici 🙂

Les SharedPreferences sont un système de stockage de type « key-value », disponible sur Android et iOS (NSUsersDefaults). C’est un système simple et rapide qui permet d’enregistrer des valeurs de type String, Int, Double et Bool.

Pour illustrer le concept, je vous propose une petite démo : On entre un texte dans un premier champ, lorsque l’on clique sur le bouton « + », celui-ci est sauvegardé comme une SharedPreference. Pour tester la persistance, n’hésitez pas à quitter l’application et à la relancer !

Prêt.es ? C’est parti !

La première des choses à faire, après avoir créé votre projet Flutter, ici shared_preferences_example, est d’importer le package « shared_preferences » dans le fichier pubspec.yaml.

Ensuite, on déclare et nomme la clé de notre préférence : « final String _myPreference = « myPreference » «  :

Pour accéder à une préférence partagée, il faut déclarer une instance de SharedPreferences : « final SharedPreferences prefs = await SharedPreferences.getInstance();« 

L’enregistrement se fait ensuite par « prefs.setString(_clé, valeur)« 

Et la lecture par « prefs.getString(_clé)« 

On peut bien sur faire de même pour les autres types de préférences 🙂

Et c’est tout !

Comme d’habitude, l’intégralité du code source est disponible sur mon dépôt Git : https://gitlab.com/vinceBar/sharedpreferencesflutterexample

Pour toute question / suggestion, n’hésitez pas, commentez !

Une application mobile Android / iOS en 1 journée ?

Application mobile Siberian

Depuis quelques années, on voit apparaitre sur le web des générateurs d’applications mobiles. La promesse est la même que pour les cms et les générateurs de sites web : pouvoir bénéficier d’un travail professionnel sans aligner une seule ligne de code…

Et comme pour les cms et autre générateurs de sites web, la réalité est quelque peu nuancée…

Suite à la demande d’un client, je me suis re-penchée sur SiberianCMS, que j’avais déjà testé il y a quelques années sans être convaincue plus que ça.

Le mois de juillet et ses chaleurs aidant, je me suis lancée comme défit de créer une application multiplateforme, avec SiberianCMS, en 1 journée… Voici donc un compte rendu de mes aventures 🙂

Lire la suite

Git Memorandum

Comme pour tous.tes les développeur.ses, Git fait partie de mon quotidien… Et comme tous.tes les développeur.ses, il m’arrive aussi de galérer avec Git 😦 .

C’est pourquoi j’ai décidé de créer ce billet de blog « Aide mémoire », destiné aussi bien aux débutant.es qu’au utilisateur.ices averti.es… Article sur lequel je partagerai bien entendu mes petites galères et mes (grandes) solutions !

Lire la suite

Tutoriel Android : Changer la limite d’envoi de sms grâce à ADB

Par défaut, le système Android met une limite au nombre de sms que peut envoyer une application de manière automatique.

Et c’est plutôt normal, car cela évite que des applis se mettent à envoyer du spam sms à l’insu de l’utilisateur.

Cependant, il y a des situations où l’on aimerai bien pouvoir changer ce comportement, de préférence sans avoir à « rooter » le téléphone…

C’est là qu’intervient ADB : Android Debug Bridge.

ADB est un ensemble de commandes en mode texte qui permettent de communiquer avec un device Android. ADB est disponible pour MS Windows, Apple MacOS et GNU Linux.

Attention, cela nécessite que votre device Android soit directement branché à l’ordinateur qui exécute ADB.

Installation d’ADB

Là, je ne vais détailler que la procédure que Mac, car je n’ai pas testé sous Windows et Linux. Installation est d’ailleurs un bien grand mot, puisqu’il suffit de :

Lancer ADB

Branchez votre device (déverrouillé) à votre ordinateur, puis dans le dossier où se trouvent les outils ADB, lancez la commande : « adb device« .

Cette commande lance le daemon adb. Si votre device n’a jamais été utilisé pour faire du développement Android, une fenêtre demandant d’autoriser l’usb debuging va s’ouvrir. C’est normal, dites « ok ».

Si tout s’est bien passé, vous pouvez maintenant lancer un shell sur votre device avec la commande « adb shell » (vous remarquerez que le shell est lancé en root 🙂 ):

Et pour mes sms alors ?

Comme je l’ai dit, depuis sa versions 5 (Lollipop), Android limite le nombre de sms envoyé à des destinataires différents à 30 sms maximum en 30 minutes.

Au delà, une fenêtre de confirmation d’envoi s’ouvre pour chaque nouveau sms.

Mais cela se règle avec 2 lignes de commandes ADB. Par exemple, si mon application doit pouvoir envoyer 50 sms en 15 minutes, je vais changer les clés « sms_outgoing_check_max_count » et « sms_outgoing_check-interval_ms » :

Bon, dans ce cas là, j’aurai pu me passer de changer la limite de temps, mais c’était pour vous montrer comment faire. Attention, le temps est exprimé en millisecondes.

Il faut rebooter le device pour que les paramètres soient pris en compte.

Et pour connaitre les valeurs des clés sur le divise, c’est la commande « settings list global« .

C’est évident mais je précise, il faut taper « exit » pour sortir du shell…

Bien entendu, ce n’est pas la seule chose que l’on peut faire avec ADB ! Pour vous en rendre compte, jetez un oeil ici : https://adbinstaller.com/commands/

Voilà pour cette introduction à ADB, comme quoi il n’y pas que iOS dans la (ma) vie…

Si la mise en page de mes articles vous paraît changeante ces derniers temps, c’est parce qu’il faut que je m’habitue à Gutenberg 😦 …

Et pour toute question / suggestions, comme d’habitude, commentez !

La liste des APIs publiques

Il y a quelques temps, j’avais rédigé un article concernant la parfaite toolkit API pour développeur.se mobile. Cet article est bien sûr régulièrement mis à jour et vous le trouverez ici : https://vincent-barousse.blog/

Cette fois, je vous propose rien de moins que l’annuaire des APIs publiques !

A retrouver sur ce site : https://public-apis.xyz

Programmation : De jolies images de votre code !

carbon(4)

Lors de l’écriture de mon dernier post sur l’usage de NSLocalisedString, j’ai découvert le super site « Carbon« , accessible ici.

Ce site vous permet de mettre en valeur vos codes sources. Il supporte une grande quantité de langages, dont Swift, et propose de nombreuses options de configuration.

A enregistrer d’urgence dans vos favoris !