dart 如何将Flutter应用程序与Python代码集成[已关闭]

r8xiu3jd  于 2023-09-28  发布在  Flutter
关注(0)|答案(3)|浏览(90)

已关闭,此问题需要更focused。它目前不接受回答。
**想改善这个问题吗?**更新问题,使其只关注editing this post的一个问题。

去年就关门了。
这篇文章是编辑并提交审查15天前.
Improve this question
我想做一个使用Python模块的Flutter应用程序。集成Python代码的选项有哪些,如何在两个运行时之间封送数据,我能否制作一个包含Python模块的独立应用程序,而不依赖于本地Python安装?

我的上下文:

我写了Python代码,可以使用人脸识别标记出勤。它基本上写了(姓名,注册号。和进入时间)到一个**.csv**文件,其中的面孔与我提供的数据(我和我的朋友的图像)相匹配。我想创建一个桌面和/或移动的应用程序,利用现有的代码。

hgb9j2n6

hgb9j2n61#

我建议你使用或转换Python代码作为后端代码,Flutter代码作为前端代码。之后,Flutter应用程序可以通过HTTP请求调用API并获取所需的数据。
进一步阅读我的建议:

djmepvbi

djmepvbi2#

这适用于集成到Flutter中的Python条形码扫描器。
**第一步:**从该依赖导入http包,pub get(http:)
**步骤-2:**在flutter项目中创建一个新文件,比如request.dart,在该文件中输入以下行

import 'package:http/http.dart';
Future getData(url) async {
  Response response = await get(url);
  return response.body;
}

**Step-3:**现在,flutter项目已经准备好连接Python。转到PyCharm IDE,创建一个新的Flask项目。
**Step-4:**默认情况下,您将在flask import Flask的app.py文件中包含此代码

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

当你创建一个新的Flask项目时,上面写的代码将自动生成。不要试图删除任何预先编写的代码。
你可以重命名hello_world()函数,实现你想要的任何逻辑,并返回一个字符串、数字或数组。
当你运行你的项目时,它将在本地主机上运行。通常,它运行在http://127.0.0.1:5000/(本地主机,端口5000)配置flutter之前,您也可以在浏览器上输入此地址,以查看您的项目是否已启动并正在运行!

http://127.0.0.1:5000/

现在,为了让输出处于flutter状态,我们需要返回一个json,而不是简单地返回string。
为此,从flask导入Flask,jsonify

app = Flask(__name__)

@app.route('/')
def hello_world():
    json_file = {}
    json_file['query'] = 'hello_world'
    return jsonify(json_file)

if __name__ == '__main__':
    app.run()

现在,在你想要访问的主flutter文件中,将这段代码添加到你想要通过python脚本获得输出的函数中。

var data = await getData('http://10.0.2.2:5000/);
var decodedData = jsonDecode(data);
print(decodedData['query']);

就这样

yhxst69z

yhxst69z3#

在Android上,您可以使用python-for-android (p4a)项目构建一个.aar(Android库),其中包含一个python服务,并将其与flutter应用捆绑在一个APK中。这里有一个tutorial如何做到这一点。
然后,您可以使用Flask设置在本地Python服务中运行的Web服务器,以在Flutter和Python之间进行接口。对于高频接口,可以使用ZeroMQNanomsg-NG(NNG)库。
对于面部识别,如果您的模型可以转换为使用tflite服务,则有tflite-runtimep4a配方。

相关问题