带有回调的 kivy Urlrequest 在移动设备上抛出错误,但在笔记本电脑上不会抛出错误,为什么?

2024-02-25

以下是完整代码。

当我在笔记本电脑上运行下面的简单 kivy 代码时,输​​出是“Hello from Kivy Success”。当我使用 buildozer android debug deploy 从 ubuntu 运行到我的手机时,输出是“Hello from Kivy Error”。我什至在我的项目文件夹中添加了 cacert.pem,使用 ca_file=where(),verify=True 。那也没有帮助。

为什么 UrlRequest 在我的手机上失败?请帮我提供解决方案。

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.network.urlrequest import UrlRequest
from kivy.uix.label import Label
from kivy.uix.button import Button
import json

def where():
    f = os.path.dirname(__file__)

    return os.path.join(f, 'cacert.pem')   


class MainScreen(FloatLayout):
    def __init__(self, **kwargs):
        super(MainScreen, self).__init__(**kwargs)
        self.a = None            
        self.test_connection()
        print(" I am in init")

    def on_getCloudEvents_success(self,request,result):
        print("on_getCloudEvents_success called:")
        print("  result="+str(result))
        self.resp = result
        self.SYNC_REQUEST_STAT="Success" # to end the synchronous wait
        self.after_success()
        
        
    def on_getCloudEvents_failure(self,request,result):
        print("on_getCloudEvents_failure called:")
        print("  request was sent to "+str(request.url))
        print("    request body="+str(request.req_body))
        print("    request headers="+str(request.req_headers))
        print("  result="+str(request.result))
        self.SYNC_REQUEST_STAT="Failure" # to end the synchronous wait
        self.after_success()

    def on_getCloudEvents_error(self,request,result):
        print("on_getCloudEvents_error called:")
        print("  request was sent to "+str(request.url))
        print("    request body="+str(request.req_body))
        print("    request headers="+str(request.req_headers))
        print("  result="+str(request.result))        
        self.SYNC_REQUEST_STAT="Error" # to end the synchronous wait
        self.after_success()
            
      
    def after_success(self):
#        button = Button(text='Hello world'+self.a)
#        self.add_widget(button)
        self.a = "heree"
        label = Label(text='Hello from Kivy'+self.SYNC_REQUEST_STAT,
                      size_hint=(.5, .5),
                      pos_hint={'center_x': .5, 'center_y': .5},
                      color = [1.4, 1, 1, 1.8])
    
        self.add_widget(label)
        return self

        
    def test_connection(self):
        
        jdata = {"symbols": {"tickers": ["BITTREX:BTCUSDT"], "query": {"types": []}}, "columns": ["Recommend.Other|15", "Recommend.All|15", "Recommend.MA|15", "RSI|15", "RSI[1]|15", "Stoch.K|15", "Stoch.D|15", "Stoch.K[1]|15", "Stoch.D[1]|15", "CCI20|15", "CCI20[1]|15", "ADX|15", "ADX+DI|15", "ADX-DI|15", "ADX+DI[1]|15", "ADX-DI[1]|15", "AO|15", "AO[1]|15", "Mom|15", "Mom[1]|15", "MACD.macd|15", "MACD.signal|15", "Rec.Stoch.RSI|15", "Stoch.RSI.K|15", "Rec.WR|15", "W.R|15", "Rec.BBPower|15", "BBPower|15", "Rec.UO|15", "UO|15", "close|15", "EMA5|15", "SMA5|15", "EMA10|15", "SMA10|15", "EMA20|15", "SMA20|15", "EMA30|15", "SMA30|15", "EMA50|15", "SMA50|15", "EMA100|15", "SMA100|15", "EMA200|15", "SMA200|15", "Rec.Ichimoku|15", "Ichimoku.BLine|15", "Rec.VWMA|15", "VWMA|15", "Rec.HullMA9|15", "HullMA9|15", "Pivot.M.Classic.S3|15", "Pivot.M.Classic.S2|15", "Pivot.M.Classic.S1|15", "Pivot.M.Classic.Middle|15", "Pivot.M.Classic.R1|15", "Pivot.M.Classic.R2|15", "Pivot.M.Classic.R3|15", "Pivot.M.Fibonacci.S3|15", "Pivot.M.Fibonacci.S2|15", "Pivot.M.Fibonacci.S1|15", "Pivot.M.Fibonacci.Middle|15", "Pivot.M.Fibonacci.R1|15", "Pivot.M.Fibonacci.R2|15", "Pivot.M.Fibonacci.R3|15", "Pivot.M.Camarilla.S3|15", "Pivot.M.Camarilla.S2|15", "Pivot.M.Camarilla.S1|15", "Pivot.M.Camarilla.Middle|15", "Pivot.M.Camarilla.R1|15", "Pivot.M.Camarilla.R2|15", "Pivot.M.Camarilla.R3|15", "Pivot.M.Woodie.S3|15", "Pivot.M.Woodie.S2|15", "Pivot.M.Woodie.S1|15", "Pivot.M.Woodie.Middle|15", "Pivot.M.Woodie.R1|15", "Pivot.M.Woodie.R2|15", "Pivot.M.Woodie.R3|15", "Pivot.M.Demark.S1|15", "Pivot.M.Demark.Middle|15", "Pivot.M.Demark.R1|15"]}
        jdata = json.dumps(jdata).encode('utf-8')    
        print(jdata)
        scan_url = 'https://scanner.tradingview.com/crypto/scan'
        UrlRequest(scan_url, req_body=jdata,                     
            on_success=self.on_getCloudEvents_success,
            on_failure=self.on_getCloudEvents_failure,
            on_error=self.on_getCloudEvents_error)

class App(App):   
        
    def build(self):
        return MainScreen()
        

if __name__ == "__main__":
    App().run()

我解决了我的问题。我必须在 buildozer 规范的要求中添加 python3==3.7.5, hostpython3==3.7.5 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有回调的 kivy Urlrequest 在移动设备上抛出错误,但在笔记本电脑上不会抛出错误,为什么? 的相关文章

  • 如何手动计算分类交叉熵?

    当我手动计算二元交叉熵时 我应用 sigmoid 来获取概率 然后使用交叉熵公式并平均结果 logits tf constant 1 1 0 1 2 labels tf constant 0 0 1 1 1 probs tf nn sigm
  • 保存为 HDF5 的图像未着色

    我目前正在开发一个将文本文件和 jpg 图像转换为 HDF5 格式的程序 用HDFView 3 0打开 似乎图像仅以灰度保存 hdf h5py File Sample h5 img Image open Image jpg data np
  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • 为什么从 Pandas 1.0 中删除了日期时间?

    我在 pandas 中处理大量数据分析并每天使用 pandas datetime 最近我收到警告 FutureWarning pandas datetime 类已弃用 并将在未来版本中从 pandas 中删除 改为从 datetime 模块
  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • 安装了 32 位的 Python,显示为 64 位

    我需要运行 32 位版本的 Python 我认为这就是我在我的机器上运行的 因为这是我下载的安装程序 当我重新运行安装程序时 它会将当前安装的 Python 版本称为 Python 3 5 32 位 然而当我跑步时platform arch
  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • 使用 Python 从文本中删除非英语单词

    我正在 python 上进行数据清理练习 我正在清理的文本包含我想删除的意大利语单词 我一直在网上搜索是否可以使用像 nltk 这样的工具包在 Python 上执行此操作 例如给出一些文本 Io andiamo to the beach w
  • Pandas 日期时间格式

    是否可以用零后缀表示 pd to datetime 似乎零被删除了 print pd to datetime 2000 07 26 14 21 00 00000 format Y m d H M S f 结果是 2000 07 26 14
  • Python zmq SUB 套接字未接收 MQL5 Zmq PUB 套接字

    我正在尝试在 MQL5 中设置一个 PUB 套接字 并在 Python 中设置一个 SUB 套接字来接收消息 我在 MQL5 中有这个 include
  • 使用字典映射数据帧索引

    为什么不df index map dict 工作就像df column name map dict 这是尝试使用index map的一个小例子 import pandas as pd df pd DataFrame one A 10 B 2
  • 您可以格式化 pandas 整数以进行显示,例如浮点数的“pd.options.display.float_format”?

    我见过this https stackoverflow com questions 18404946 py pandas formatdataframe and this https stackoverflow com questions
  • YOLOv8获取预测边界框

    我想将 OpenCV 与 YOLOv8 集成ultralytics 所以我想从模型预测中获取边界框坐标 我该怎么做呢 from ultralytics import YOLO import cv2 model YOLO yolov8n pt
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • 使用 xlrd 打开 BytesIO (xlsx)

    我正在使用 Django 需要读取上传的 xlsx 文件的工作表和单元格 使用 xlrd 应该可以 但因为文件必须保留在内存中并且可能不会保存到我不知道如何继续的位置 本例中的起点是一个带有上传输入和提交按钮的网页 提交后 文件被捕获req
  • Python 2:SMTPServerDisconnected:连接意外关闭

    我在用 Python 发送电子邮件时遇到一个小问题 me my email address you recipient s email address me email protected cdn cgi l email protectio
  • 从 NumPy ndarray 中选择行

    我只想从 a 中选择某些行NumPy http en wikipedia org wiki NumPy基于第二列中的值的数组 例如 此测试数组的第二列包含从 1 到 10 的整数 gt gt gt test numpy array nump
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以

随机推荐