[Cordova] Reprise connexion

Salut,

J’ai créé une petite app qui affiche des SO, jusque là tout va bien.

Par contre j’ai remarqué que quand je reviens sur l’App (sans l’avoir fermer) les données ne se rafraîchissent pas.

J’imagine qu’il n’y a plus de connexion avec Constellation.

Comment gérez vous ce problème ?

Deuxième question, comment gérez vous les app avec plusieurs pages ?

J’utilise la version js avec tous les script Constellation dans index.js.

Tu parles d’application en SPA ?

Non j’ai plusieurs page.

Imaginons une page par pièce, je suis sur la page salon et je passe à la page chambre, peut-on changer les subscribions à la volée ?

Pour le moment, quand je quitte l’application je stop la connexion et quand je re-ouvre l’application je relance la connexion.

Pareil quand je change de page, je stop la connexion et je la relance.

Je sais pas si c’est la meilleure façon de faire.

Hello,

Le probleme si tu développes une app mobile avec plusieurs pages, c’est qu’à chaque changement de page tu dois te reconnecter et refaire tes subscriptions aux SO & messages, ce n’est pas top !

Il faut donc développer une app SPA même si tu as plusieurs pages :wink:

C’est pourquoi je recommande grandement utilisation de Ionic (surcouche Cordova qui inclut AngularJS) de façon à pouvoir utiliser le binding angular mais aussi le “UI-router” (https://www.thepolyglotdeveloper.com/2014/11/using-ui-router-navigate-ionicframework/)

De ce fait chaque “page” a son propre contrôleur JS et son propre template HTML mais tu peux utiliser le “root Scope” pour partager du code et des variables entre tes pages !

Ainsi le client de communication Constellation est initialisé une seule fois, au démarrage de l’appli, est son instance est partagée par toutes tes pages ! C’est d’ailleurs le même principe qui est mis en place dans la Console Constellation : il y a plusieurs pages, mais toutes partagent la même connexion Constellation!

Les prochains articles de la doc en cours de rédaction sont justement consacrés à la lib JS, AngularsJS et application dans Cordova/Ionic !

Autrement pour ta 1ere question, je m’abonne à l’évenement de deconnection dans la lib Constellation pour relancer une connexion. Il y a aussi des evenenments Cordova pour t’indiquer une reprise de l’application (resume) afin de relancer la connexion si plus connecté !

Le problème c’est que je connais pas du tout Angular et que j’ai un peu de mal à comprendre le fonctionnement.

Il faudrait que je me penche plus dessus mais j’apprends le c# pour le moment :wink:

Du coup j’ai un seul controlleur constellation qui envoi les données vers des class qui sont présentes ou pas suivant les pages, je pense que je perds un peu de temps d’affichage mais en local c’est plutôt rapide.