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

samedi 28 septembre 2013

Réparer le Local Storage d’Android

Le Local Storage… Tous les développeurs web connaissent sûrement ce petit stockage web, de type clé/valeur, permettant de garder en mémoire des informations de manière permanente.

html5-local-storage

Nous avons voulu utiliser cet espace de stockage web dans les développements de nos applications hybrides. Malheureusement, son implémentation n’est pas complète dans les Webviews Android.

Voici comment y remédier :

Sur iOS, aucun problème. Le Local Storage est commun à toutes les UIWebviews que l’on instancie. C’est conforme à nos attentes et à l’utilisation dans un navigateur web classique.

Le véritable problème est venu sur Android. Le Local Storage existe bien sur cette plate-forme comme en témoigne la documentation. En revanche, il n’est pas commun à toutes les webviews. C’est-à-dire que si l’on enregistre une valeur pour une clé donnée dans une première webview, on ne peut pas la récupérer dans une deuxième webview.

Dans notre cas, notre application gérant plusieurs webviews, c’était problématique.

Pour résoudre ce problème, nous avons créé notre propre Local Storage côté Android, une simple base de données locale, ainsi qu’une JavaScriptInterface implémentant les méthodes « getItem », « setItem », « removeItem » et « clear » du localStorage habituel et permettant au JavaScript exécuté dans la Webview d’avoir accès à cette base de données.

Grâce a quelques lignes JavaScript nous avons ensuite remplacé le localStorage JavaScript par le nôtre, permettant ainsi à toutes nos Webviews d’utiliser les même données.

Un sample de code et un petit tuto sont disponibles sur GitHub pour ceux qui auraient passé quelques nuits blanches à chercher une solution sans la trouver !

dimanche 1 septembre 2013

Réparer le Local Storage d’Android

Le Local Storage… Tous les développeurs web connaissent sûrement ce petit stockage web, de type clé/valeur, permettant de garder en mémoire des informations de manière permanente.

html5-local-storage

Nous avons voulu utiliser cet espace de stockage web dans les développements de nos applications hybrides. Malheureusement, son implémentation n’est pas complète dans les Webviews Android.

Voici comment y remédier :

Sur iOS, aucun problème. Le Local Storage est commun à toutes les UIWebviews que l’on instancie. C’est conforme à nos attentes et à l’utilisation dans un navigateur web classique.

Le véritable problème est venu sur Android. Le Local Storage existe bien sur cette plate-forme comme en témoigne la documentation. En revanche, il n’est pas commun à toutes les webviews. C’est-à-dire que si l’on enregistre une valeur pour une clé donnée dans une première webview, on ne peut pas la récupérer dans une deuxième webview.

Dans notre cas, notre application gérant plusieurs webviews, c’était problématique.

Pour résoudre ce problème, nous avons créé notre propre Local Storage côté Android, une simple base de données locale, ainsi qu’une JavaScriptInterface implémentant les méthodes « getItem », « setItem », « removeItem » et « clear » du localStorage habituel et permettant au JavaScript exécuté dans la Webview d’avoir accès à cette base de données.

Grâce a quelques lignes JavaScript nous avons ensuite remplacé le localStorage JavaScript par le nôtre, permettant ainsi à toutes nos Webviews d’utiliser les même données.

Un sample de code et un petit tuto sont disponibles sur GitHub pour ceux qui auraient passé quelques nuits blanches à chercher une solution sans la trouver !

samedi 24 août 2013

Repair you Local Storage d'Android

Local storage of le... Tous les web web developers connaissent surement ce petit stockage, of type cle/valeur, permettant de garder en mémoire des informations on a permanent basis.

html5-local-storage

Nous avons voulu utiliser cet espace de stockage web dans les Développements de Nos applications, hybrides. Malheureusement, son implementation n ' est pas complète dans les Webviews Android.

Voici comment and chaude:

South iOS, aucun problème. Le storage Local est commun à toutes les UIWebviews l'on instantiate. C ' est according to us attentes et à l'utilisation dans a browser web classique.

Le véritable problème est venu sur Android. Le Local storage exists well sur cette plate - forme comme on témoigne documentation. Revanche at, il n ' est pas commun à toutes les webviews. C ' c'est-à-dire that if l'on enregistre une valeur pour une Clé donnée dans une première webview, on ne peut pas recover dans une deuxième webview.

Dans notre cas, notre application gérant plusieurs webviews, c' était problématique.

Pour ce problème, nous avons Créé notre propre Local Storage single Côte Android, une simple local database, ainsi qu'une JavaScriptInterface implementant les méthodes «getItem», «set», «removeItem» et du «clear» localStorage habituel et permettant au JavaScript be made dans the Webview d'avoir accès à cette database.

Grace a quelques lignes JavaScript nous avons ensuite replaced him localStorage JavaScript par le notre, permettant ainsi à toutes us Webviews use les données meme.

United Nations shows code et a petit tuto sur available sont GitHub pour ceux auraient passé quelques nuits blanches à chercher une solution trouver sans the!