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/18 13:55]
serge [Widgets Kivy utilisés]
smartcitizen [2020/02/16 09:14] (Version actuelle)
serge [Ressources]
Ligne 1: Ligne 1:
-====== ​Kivy: Application Android Smart Citizen ​======+====== ​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 center round box 40% centeralign>​
 +**[[les_pages_kivy_en_details|Les pages Kivy en détails]]**
 </​WRAP>​ </​WRAP>​
  
-=====ReSSources===== +<WRAP group> 
-  * **[[https://​smartcitizen.me/​kits/​9525|Nos capteurs]]** +<WRAP third column>​ 
-  * **[[https://​developer.smartcitizen.me/#​summary|API]]** +{{::​smartcitizen_1.png?​300|}} 
-  * **[[https://​github.com/​sergeLabo/​smartcitizen|smartcitizen sur GitHub]]** +</​WRAP>​ 
-  * **{{ ::​smartcitizen.apk |}}**+<WRAP third column>​ 
 +{{::​smartcitizen_2.png?​300|}} 
 +</​WRAP>​ 
 + 
 +<WRAP third column>​ 
 +{{::​smartcitizen_3.png?​300|}} 
 +</​WRAP>​ 
 +</​WRAP>​ 
 + 
 + 
 +{{ :​smartcitizen.apk |}}=====Ressources===== 
 +  * **[[https://​smartcitizen.me/​kits/​9525|Nos capteurs]]** ​La page web de nos capteurs 
 +  * **[[https://​developer.smartcitizen.me/#​summary|API]]** l'API de smartcitizen 
 +  * **[[https://​github.com/​fablabbcn/​smartcitizen-api|Le GitHub de l'API]]**  
 +  * **[[https://​github.com/​sergeLabo/​smartcitizen|Les sources de smartcitizen sur GitHub]]** 
 +  *  
 +===apk=== 
 +**{{ ::​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:​**+  * **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 
 + 
 +===Une barre de menu===
   * **ActionBar:​**   * **ActionBar:​**
   * **ActionView:​**   * **ActionView:​**
Ligne 20: 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:**
 +
 +===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:​**   * **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:​** ​
 +
 +===Une belle courbe===
 +  * **[[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.1579352151.txt.gz · Dernière modification: 2020/01/18 13:55 par serge