Frage

Ich habe ein Programm erstellt, das beim Ausführen einige Anweisungen auf der Standardausgabe ausgibt.Ich kann sie sehen, wenn ich die App unter Windows ausführe. Wenn ich jedoch dieselbe App auf dem Android-Gerät Samsung S3 ausführe, kann ich nirgendwo die Ausgabe von Druckanweisungen sehen.

Manchmal sehen wir das Verzeichnis .kivy auf dem Gerät im selben Verzeichnis wie das Programm, aber diese Protokolldateien enthalten auch kivy-spezifische Protokolle, ignorieren jedoch die Ausgaben der Druckanweisung.

Kann mir jemand einen Rat geben, wie man es benutzt ...

War es hilfreich?

Lösung

Verwenden Sie adb logcat um die Ausgabe Ihrer Anwendung zu erhalten, oder verwenden Sie eine der online verfügbaren Apps, die Ihnen dabei helfen, Ihre Protokolle anzuzeigen und nach „Python“ zu suchen.

Detaillierte Schritte für oben::

Aktivieren Sie Entwickleroptionen auf Ihrem Gerät(Google ist dein Freund).Dann aktivieren USB-Debugging.

enter image description hereBild entnommen aus http://androidfannetwork.com/

Schließen Sie dann Ihr Gerät über ein USB-Kabel an Ihren PC an und geben Sie Folgendes ein adb devices in Ihrer Konsole.Es sollte Ihr Gerät anzeigen (möglicherweise werden Sie aufgefordert, Berechtigungen für die Verbindung mit dem Computer einzuholen).

Eine einfachere Möglichkeit besteht darin, die visuelle Anzeige auf einem Widget zu verwenden, anstatt sie auf der Konsole auszudrucken.Sie könnten Funktionen für Ihre App erstellen bubprint

from kivy.core.window import Window
from kivy.clock import Clock
from kivy.factory import Factory
from kivy.lang import Builder

Builder.load_string('''
<InfoBubble@Bubble>
    # declare our message StringProperty
    message: 'empty message'
    # let the bubble be of 200 device pixels
    # and expand as necessary on the height
    # depending on the message + 20 dp of padding.
    size_hint: None, None
    show_arrow: False
    pos_hint: {'top': 1, 'right': 1}
    size: dp(200), lbl.texture_size[1] + dp(20)
    Label:
        id: lbl
        text: root.message
        # constraint the text to be displayed within
        # the bubble width and have it be unrestricted
        # on the height.
        text_size: root.width - dp(20), None
''')

def bubbprint(self, message):
    message = repr(message)
    if not self.info_bubble:
        self.info_bubble = Factory.InfoBubble()
    self.info_bubble.message = message

    # Check if bubble is not already on screen
    if not self.info_bubble.parent:
        Window.add_widget(self.info_bubble)

    # Remove bubble after 2 secs
    Clock.schedule_once(lambda dt:
        Window.remove_widget(self.info_bubble), 2)

Andere Tipps

kivy launcher ignoriert den generakodicetagcode.Verwenden Sie stattdessen generationstabedagcode.

in main.py:

generasacodicetagpre.

und Protokolldateien befinden sich in generationstechnischer Dateien

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top