Outils pour utilisateurs

Outils du site


smartcitizen

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
smartcitizen [2020/01/22 16:47]
serge [ReSSources]
smartcitizen [2020/02/16 09:14] (Version actuelle)
serge [Ressources]
Ligne 1: Ligne 1:
-====== ​Kivy: Smart Citizen Application Android ​======+====== ​Smartcitizen ​======
 <WRAP center round box 60% centeralign>​ <WRAP center round box 60% centeralign>​
 **{{tagpage>​kivy|Toutes les pages Kivy}}**  ​ **{{tagpage>​kivy|Toutes les pages Kivy}}**  ​
 **[[http://​translate.google.com/​translate?​hl=&​sl=auto&​tl=en&​u=https%3A%2F%2Fressources.labomedia.org%2Fkivy_application_android_smart_citizen|English Version]]** **[[http://​translate.google.com/​translate?​hl=&​sl=auto&​tl=en&​u=https%3A%2F%2Fressources.labomedia.org%2Fkivy_application_android_smart_citizen|English Version]]**
 </​WRAP>​ </​WRAP>​
 +<WRAP center round box 40% centeralign>​
 +**[[les_pages_kivy_en_details|Les pages Kivy en détails]]**
 +</​WRAP>​
 +
 +<WRAP group>
 +<WRAP third column>
 +{{::​smartcitizen_1.png?​300|}}
 +</​WRAP>​
 +<WRAP third column>
 +{{::​smartcitizen_2.png?​300|}}
 +</​WRAP>​
 +
 +<WRAP third column>
 +{{::​smartcitizen_3.png?​300|}}
 +</​WRAP>​
 +</​WRAP>​
 +
  
-=====ReSSources===== +{{ :​smartcitizen.apk |}}=====Ressources===== 
-  * **[[https://​smartcitizen.me/​kits/​9525|Nos capteurs]]** +  * **[[https://​smartcitizen.me/​kits/​9525|Nos capteurs]]** ​La page web de nos capteurs 
-  * **[[https://​developer.smartcitizen.me/#​summary|API]]** +  * **[[https://​developer.smartcitizen.me/#​summary|API]]** l'API de smartcitizen 
-  * **[[https://​github.com/​sergeLabo/​smartcitizen|smartcitizen sur GitHub]]**+  * **[[https://​github.com/​fablabbcn/​smartcitizen-api|Le GitHub de l'API]]**  
 +  * **[[https://​github.com/​sergeLabo/​smartcitizen|Les sources de smartcitizen sur GitHub]]**
   *    * 
 ===apk=== ===apk===
-**{{ ::​smartcitizen.apk |}}** du 22/01/2020+**{{ ::​smartcitizen.apk |}}** du 16/02/2020 
 + 
 +=====Les choses non réussies===== 
 +  * Créer les box du menu déroulant dans le main.py alors que ça marche dans [[taposc|TapOSC]] mais sans menu déroulant. 
 +  * Un simple label transparent au dessus d'un widget 
 + 
 +=====Les difficultés rencontrées===== 
 +===L'​accès à des variables d'une class depuis une autre=== 
 +Exemple: la class A peut accéder à la variable self.toto de la class B,\\ 
 +mais pas l'​inverse ! la class B ne peut pas accéder à la variable self.truc de la class A. 
 + 
 +Solution: Un Clock dans A actualise la valeur de B. 
 + 
 +===Création du graph dans le kv=== 
 +  * [[https://​github.com/​sergeLabo/​smartcitizen/​tree/​master/​smartcitizen/​garden_graph_example|garden_graph_example]] contient 3 exemples pour étudier le problème. 
 +  *  
 + 
 + 
  
  
 =====Widgets Kivy utilisés===== =====Widgets Kivy utilisés=====
-  * **ScreenManager:​** Plusieurs écrans +  * **ScreenManager:​** Plusieurs écrans ​[[kivy_liste_des_elements_graphiques_widgets_de_comportement_et_gestion_d_ecrans#​screen_manager|Screen manager]]. Dans cette application le Screen manager est créé dans le kv 
-  * **ActionBar:​** ​Une barre de menu+ 
 +===Une barre de menu=== 
 +  * **ActionBar:​**
   * **ActionView:​**   * **ActionView:​**
   * **ActionPrevious:​**   * **ActionPrevious:​**
Ligne 22: Ligne 60:
   * **ActionButton:​**   * **ActionButton:​**
   * **ActionGroup:​**   * **ActionGroup:​**
 +
 +===Widgets classiques===
 +[[kivy_liste_des_elements_graphiques#​widgets_classiques_pour_interface_utilisateur|Widgets classiques pour interface utilisateur]]
   * **BoxLayout:​**   * **BoxLayout:​**
   * **GridLayout:​**   * **GridLayout:​**
   * **Button:**   * **Button:**
   * **Label:**   * **Label:**
-  ​* **canvas.before:​** ​pour l'​image de fond+ 
 +===Une image en background=== 
 +[[kivy_image_avec_alpha_sur_fond_blanc|Une image avec canal alpha sur un fond blanc dans un BoxLayout]] 
 +  ​* **canvas.before:​**
   * **Rectangle:​**   * **Rectangle:​**
-  ​* **ScrollView:​**+ 
 +===Menu glissant=== 
 +  ​* **ScrollView:​** ​Défilement de la liste des capteurs, voir le kv. Avec une répétition de 16 Box peu élégantes,​ mais qui marche !  
 + 
 +===Affichage d'​info===
   * **Popup:​** ​   * **Popup:​** ​
 +
 +===Une belle courbe===
   * **[[kivy_garden|Kivy:​ Garden graph]]** Pour les courbes   * **[[kivy_garden|Kivy:​ Garden graph]]** Pour les courbes
 +
 +=====buildozer.spec=====
 +<code python>
 +[app]
 +title = Smart Citizen
 +package.name = smartcitizen
 +package.domain = org.test
 +source.dir = .
 +source.include_exts = py,​png,​jpg,​kv,​atlas
 +source.exclude_dirs = old, bin, recherche, garden_graph_example
 +source.include_patterns = images/​*.jpg,​images/​*.png
 +version.regex = __version__ = ['"​](.*)['"​]
 +version.filename = %(source.dir)s/​main.py
 +requirements = python3,​kivy,​requests,​kivy_garden.graph
 +garden_requirements = graph
 +orientation = all
 +fullscreen = 1
 +android.permissions = INTERNET
 +android.arch = armeabi-v7a
 +[buildozer]
 +log_level = 2
 +warn_on_root = 1
 +</​code>​
 +
 +=====Thread in Kivy=====
 +Pour stopper un thread à la fermeture de la fenêtre, le définir comme Salsa du démon
 +<code python>
 +        thread_update = threading.Thread(target=self.update)
 +        thread_update.setDaemon(True)
 +        thread_update.start()
 +</​code>​
  
 {{tag>​kivy python3 sb realisations_logicielles}} {{tag>​kivy python3 sb realisations_logicielles}}
smartcitizen.1579708020.txt.gz · Dernière modification: 2020/01/22 16:47 par serge