【问题标题】:How to use clickable button on Android app in python using Kivy?如何使用 Kivy 在 python 中的 Android 应用程序上使用可点击按钮?
【发布时间】:2019-03-18 13:56:22
【问题描述】:

我是新来的,但曾经在这个论坛上阅读过很多东西,所以希望你能帮助我。

我想使用 python 在 Android 上创建一个尽可能简单的应用程序(仅用于测试和未来设计),所以我现在选择 Kivy 来做。这个应用程序只有一个按钮,并通过按下该位置上命名的按钮来提供特定位置的天气。 我成功地使用我的 cmd 在 Windows 上运行它,但是当我在手机上使用 Kivy Launcher 打开我的应用程序时,应用程序在我做任何事情之前就崩溃了。有人能告诉我为什么吗? :o(其他示例应用可以在我的手机上使用 Kivy Launcher)

这是我的代码:

import kivy
kivy.require('1.10.1') # replace with your current kivy version !

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.popup import Popup
from kivy.uix.label import Label
import requests

class Main (GridLayout):
    def __init__ (self, **kwargs):
        super (Main, self). __init__(**kwargs)
        self.cols = 2
        self.paris = Button(text='Paris', font_size=40, on_press=lambda a:get_meteo(ville = "Paris"))
        self.add_widget(self.paris)
        self.rio = Button(text='Rio de Janeiro', font_size=40, on_press=lambda a:get_meteo(ville = "Rio de Janeiro, BR"))
        self.add_widget(self.rio)

def get_meteo(ville):   # Obtention de la météo d'une ville.
        print("confirmed")
        meteo = requests.get("http://api.openweathermap.org/data/2.5/weather?q=" + ville + ",fr&appid=myID").json()
        print (meteo)

class MeteoApp(App):
    icon = 'icon.png'
    def build(self):
        return Main()

MeteoApp().run()

【问题讨论】:

  • 我认为kivy启动器使用的是kivy 1.9.1,所以你必须改变你的kivy.require行...
  • 我试过了,但效果不佳...感谢您的尝试 :)

标签: android python api button kivy


【解决方案1】:

尝试使用 python-for-android 工具构建 APK 并在没有 Kivy 启动器的情况下使用您的应用程序。此外,您可以尝试使用适用于 Linux 的 Android Debugger Bridge - adb(例如,对于 Ubuntu,您可以通过 sudo apt install adb 安装它)来找出问题的原因。

如何使用内置 APK 进行检查:

  1. 在开发者模式下将您的设备连接到您制作 APK 的 PC 以及安装 adb 的位置。您应该通过 USB 电缆进行操作。
  2. 将 adb 连接到设备。更多详情在这里:https://developer.android.com/studio/command-line/adb
  3. 从您的设备中删除之前损坏的 APK 版本。
  4. 在终端中运行命令:adb install -r yourAppName.apk。您可以使用损坏的版本。这应该需要一些时间,但你 结果应该在终端中得到success 消息。这一步 主要需要确保 adb 已连接到设备 正确。
  5. 在设备上运行您的 APK。它会崩溃。
  6. 在 PC 的终端中运行命令:adb logcat | grep pythonadb logcat | grep kivy。或者只需 adb logcat 即可获得完整输出。
  7. 您将从设备获取日志并在终端中查看。

也许,您的问题与此密切相关:Kivy application does not work on Android 并且可以通过从他们的 github Master 分支安装最新版本的 python-for-android 来解决。

【讨论】:

    猜你喜欢
    • 2018-04-09
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    相关资源
    最近更新 更多