KivyMD-MDTimePicker lässt Handy abschmieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
DMD-OL
User
Beiträge: 327
Registriert: Samstag 26. Dezember 2015, 16:21

Hallo zusammen
Ich habe eine App in Kivy/KivyMD geschrieben, das auf dem Rechner mit Emulator fehlerfrei funktioniert.
Dabei benutze ich die zur Zeit neuesten Versionen kivy==2.3.0, kivymd==1.2.0 zusammen mit python3==3.10.12.
Beim Übertragen auf mein Handy mit buildozer wird eine .apk ebenfalls ohne Fehler erstellt:

Code: Alles auswählen

[...]
# Android packaging done!
# APK aze-1.0-arm64-v8a_armeabi-v7a-debug.apk available in the bin directory
# Application pushed.
# Run on R58MB1H8NLD
# Run '/home/dmd/.buildozer/android/platform/android-sdk/platform-tools/adb shell am start -n org.aze.aze/org.kivy.android.PythonActivity -a org.kivy.android.PythonActivity' ...
# Cwd /home/dmd/.buildozer/android/platform
Starting: Intent { act=org.kivy.android.PythonActivity cmp=org.aze.aze/org.kivy.android.PythonActivity }
# Application started.
Nach erstellen sehe ich dann auf meinem Handy, wie immer, das Kivy-Symbol mit dem Loading...
Nach ein paar Sekunden stürzt aber die .apk einfach ab.
Jetzt habe ich ein wenig ausprobiert und bemerkt, dass das schon passiert, sobald ich nur den MDTimePicker mit

Code: Alles auswählen

from kivymd.uix.pickers import MDTimePicker
importiere.
Wie gesagt, ich habe bisher alles mit Kivy/KivyMD erstellt ohne Fehler (MDBoxLayout, MDDataTable, MDDialog, MDFillRoundFlatButton, usw.). Auch nicht beim Übertragen auf dem Handy.
Aber allein durch das Zufügen des Imports von MDTimePicker gibt es einen Fehler nach Übertragen auf das Handy (auch auf dem Laptop mit Emulator alles super).
Kann mir jemand auf die Sprünge helfen, woran das liegen kann???
Benutzeravatar
grubenfox
User
Beiträge: 601
Registriert: Freitag 2. Dezember 2022, 15:49

Am MDTimePicker https://kivymd.readthedocs.io/en/latest ... #api-break
bzw. an der Kivy-Version... (entweder MDTimePicker und kivy 1.2.x oder kivy 2.y.z und MDTimePickerDialVertical bzw. MDTimePickerDialHorizontal)
DMD-OL
User
Beiträge: 327
Registriert: Samstag 26. Dezember 2015, 16:21

Ah, ok.
Ich benutze im Code

Code: Alles auswählen

time_picker_dialog = MDTimePicker()
time_picker_dialog.open()
Steht also für KivyMD Version 1.2.0 (das obere Beispiel)
Genau diese Version von kivymd benutze ich im Code.
Die Erklärung zu den Funktionen schnall ich nicht ganz. Ich hätte jetzt gedacht, ich muss die KivyMD-Version ändern muss?
ÄH, also ich ändere nur die Version von kivy auf 2.0.0 und
verwende dann

Code: Alles auswählen

# time_picker_dialog = MDTimePickerDialVertical()
# time_picker_dialog = MDTimePickerDialHorizontal()

time_picker_dialog = MDTimePickerInput()
time_picker_dialog.open()
Dann kann ich MDTimePickerDialVertical() aber nicht importieren, da ich kivymd so lasse wie zuvor.
HILFE
Antworten