How to integrate Flutter app with Python code How to integrate Flutter app with Python code flutter flutter

How to integrate Flutter app with Python code


I suggest you to use or convert your Python code as a Back-end code and Flutter code as Front End code. After that, your Flutter application can call the API via HTTP Requests and get data that it wants.

Further reading about my suggestion:


This worked for Python Barcode scanner integrated into Flutter.

Step 1: Import http package from this dependency and pub get( http: )

Step-2: In your flutter project create a new file, let’s say request.dart,enter the following lines in that file

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

Step-3: Now, your flutter project is ready to connect Python.Go to PyCharm IDE, and create a new Flask Project.

Step-4: By default, you would have this code in your app.py filefrom flask import Flask

app = Flask(__name__)@app.route('/')def hello_world():    return 'Hello World!'if __name__ == '__main__':    app.run()

The above written code will be automatically generated when you will make a new Flask project.Do not attempt to delete any of this pre-written code.

You can rename the hello_world() function and implement whatever logic you want and return a string, number or an array.

When you would run your project, it will run on localhost.Normally, it runs on http://127.0.0.1:5000/ (local host, port 5000)Before configuring flutter, you can also type this address on your browser to see if your project is up and running!

http://127.0.0.1:5000/

Now for getting the output in flutter, instead of simply returning string, we need to return a json.

For that, from flask import 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()

Now in your main flutter file, where you want to access, add this code in the function you want to get your output by python script.

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

That's it.