ver el resultado de declaraciones impresas en Android usando kivy - kivy launcher
Pregunta
He creado un programa que imprime algunas instrucciones en la salida estándar mientras se ejecuta.Puedo verlos cuando ejecuto la aplicación en Windows, sin embargo, cuando ejecuto la misma aplicación en un dispositivo Android Samsung S3, no pude ver la salida de las declaraciones impresas en ninguna parte.
A veces podemos ver el directorio .kivy en el dispositivo en el mismo directorio que el programa, pero esos archivos de registro también contienen registros específicos de kivy pero ignoran los resultados de las declaraciones impresas.
¿Alguien puede dar algún consejo sobre cómo usarlo...?
Solución
usar adb gato logístico para obtener el resultado de su aplicación, o use una de las aplicaciones disponibles en línea que ayudan a mostrar sus registros y grep para 'Python'.
Pasos detallados para lo anterior::
Habilite las opciones de desarrollador en su dispositivo(Google es tu amigo).Luego habilite depuración usb.
Imagen tomada de http://androidfannetwork.com/
Luego conecte su dispositivo a su PC usando un cable USB y luego escriba adb devices
en tu consola.Debería mostrar su dispositivo (es posible que aparezca un mensaje que le solicite permisos para conectarse a la computadora).
Una forma más sencilla sería utilizar una indicación visual en un widget en lugar de imprimir en la consola.podrías crear funciones para tu aplicación 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)
Otros consejos
Kivy Launcher ignora a GeneracDicetAnGode.Entonces, use print()
en su lugar.
en main.py:
import logging
....
logging.info('any strings you want to output')
y los archivos de registro están en logging.info()