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édentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
kivy_application_android_smart_citizen [2020/01/22 15:35] – [ReSSources] sergesmartcitizen [2020/02/16 07:50] serge
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===== +=====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 |}}**+**{{ ::smartcitizen.apk |}}** du 31/01/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.txt · Dernière modification : 2020/12/01 17:43 de serge