Outils pour utilisateurs

Outils du site


kivy_plyer

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
kivy_plyer [2020/01/03 09:19]
serge [Ressources]
kivy_plyer [2020/12/01 18:43] (Version actuelle)
serge ↷ Liens modifiés en raison d'un déplacement.
Ligne 3: Ligne 3:
 **{{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_plyer|English Version]]** **[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fkivy_plyer|English Version]]**
 +</WRAP>
 +<WRAP center round box 40% centeralign>
 +**[[les_pages_kivy_en_details|Les pages Kivy en détails]]**
 </WRAP> </WRAP>
  
 +**Plyer** fournit des façades pour accéder facilement à des fonctionnalités Android. C'est une alternative simple à **[[kivy_jnius|jnuis]]**
 =====Installation===== =====Installation=====
   sudo pip3 install plyer   sudo pip3 install plyer
Ligne 149: Ligne 153:
                 on_press: root.do_toggle()                 on_press: root.do_toggle()
 </code> </code>
 +
 +===Le *apk===
 +  * {{media_08:accelbasicexample-1.1.apk|accelbasicexample-1.1.apk}}
 +=====android.permissions=====
 +  * [[https://developer.android.com/reference/android/Manifest.permission.html|Liste de toutes les permissions]]
 +Les permissions définies dans buildozer.spec crée le bouton enable/disable dans Android / Paramètres / Application pour certaine permission: par défaut, il est disable. Quand ça ne marche pas, c'est la première chose à regarder. 
 +=====Exemple Envoi de Sms=====
 +<code python main.py>
 +#! /usr/bin/env python3
 +# -*- coding: utf-8 -*-
 +
 +from kivy.app import App
 +from kivy.uix.boxlayout import BoxLayout
 +from kivy.uix.button import Button
 +from kivy.properties import StringProperty
 +
 +from plyer import sms
 +
 +class SmsInterface(BoxLayout):
 +    pass
 +
 +class IntentButton(Button):
 +    sms_recipient = StringProperty()
 +    sms_message = StringProperty()
 +
 +    def send_sms(self, *args):
 +        sms.send(recipient=self.sms_recipient, message=self.sms_message)
 +
 +class SmsApp(App):
 +    def build(self):
 +        return SmsInterface()
 +
 +    def on_pause(self):
 +        return True
 +
 +if __name__ == "__main__":
 +    SmsApp().run()
 +</code>
 +
 +<code python sms.kv>
 +<SmsInterface>:
 +    orientation: 'vertical'
 +    BoxLayout:
 +        size_hint_y: None
 +        height: sp(30)
 +        Label:
 +            text: 'Recipient:'
 +        TextInput:
 +            id: recipient
 +            multiline: False
 +            on_text_validate: message.focus = True
 +    BoxLayout:
 +        Label:
 +            text: 'Message:'
 +        TextInput:
 +            id: message
 +    IntentButton:
 +        sms_recipient: recipient.text
 +        sms_message: message.text
 +        text: 'Send SMS'
 +        size_hint_y: None
 +        height: sp(40)
 +        on_release: self.send_sms()
 +</code>
 +
 +<code python buildozer.spec>
 +[app]
 +title = Sms
 +package.name = sms
 +package.domain = org.test
 +source.dir = .
 +source.include_exts = py,png,jpg,kv,atlas
 +version = 0.3
 +requirements = python3,kivy,plyer
 +orientation = portrait
 +fullscreen = 0
 +android.arch = armeabi-v7a
 +android.permissions = READ_PHONE_STATE, SEND_SMS, RECEIVE_SMS, READ_SMS
 +
 +[buildozer]
 +log_level = 2
 +warn_on_root = 1
 +</code>
 +===Le *.apk===
 +  * {{ media_12:sms_armeabi-v7a-0.3-armeabi-v7a-debug.apk |sms_armeabi-v7a-0.3-armeabi-v7a-debug.apk}}
 +
 +===La permission SEND_SMS n'est pas acceptée par Android===
 +<code>
 +01-04 09:55:02.207  3635  3654 I python  :  jnius.jnius.JavaException: JVM exception occurred: Sending SMS message: uid 10074 does not have android.permission.SEND_SMS.
 +</code>
 +
 +Les permissions définies dans buildozer.spec crée le bouton enable/disable dans Android / Paramètres / Application pour cette permission: par défaut, il est disable. Quand ça ne marche pas, c'est la première chose à regarder.
  
  
-{{tag>kivy sb}}+{{tag> kivy python sb }}
kivy_plyer.1578039558.txt.gz · Dernière modification: 2020/01/03 09:19 de serge