如何使用Kivy在python中使用Android应用程序上的可点击按钮?

2024-04-26 05:36:57 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我想用python在Android上创建一个尽可能简单的应用程序(只是为了测试和将来的设计),所以我选择Kivy来做。这个应用程序只需要一个按钮,并通过按下一个在这个位置上命名的按钮来给出特定位置的天气。 我成功地用我的命令在windows上运行它,但是当我用手机上的Kivy启动器打开我的应用程序时,我还没来得及做任何事情,应用程序就崩溃了。有人能告诉我为什么吗?: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()

Tags: fromimportself应用程序getmaindefde
1条回答
网友
1楼 · 发布于 2024-04-26 05:36:57

尝试使用pythonforandroid工具来构建APK,并在没有Kivy启动器的情况下使用应用程序。另外,您可以尝试使用Android调试器bridgeforlinux-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主分支安装最新版本的python for android来解决。在

相关问题 更多 >