[18] Flutter Flask서버 연결하기

찬과장·2025년 5월 13일
0

Flutter

목록 보기
18/22
post-thumbnail

VsCode에서 서버 생성하기

app.py

from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def test():
    # return타입에 html 띄울 수 있는 함수 혹은 문자열 혹은 json이 반환
    return 'hello'
@app.route('/send')
def send():
    # 데이터 받는법
    # request.args.get('보내준 곳에서의 key값')
    test = request.args.get('test')
    print(test)
    return "hello234"
if __name__ == '__main__':
    app.debug = True #저장 하면 즉시 반영
    app.run('192.168.219.179', port = 8086)

안드로이드 스튜디오 돌아와서 서버 연결

  • ex_flask
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
// tf 컨트롤러
TextEditingController testCon  = TextEditingController();
final dio = Dio();
class ExFlask extends StatelessWidget {
  const ExFlask({super.key});
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Column(
          children: [
            TextField(
              controller: testCon,
            ),
            ElevatedButton(onPressed: () async{
              String test = testCon.text;
              // 1. url 작성
              String url = 'http://192.168.219.179:8086/send';
              // 핸드폰도 작은 컴퓨터 입니다.
              // 즉 핸드폰도 서버가 될 수 있습니다.!
              // 코드에 작성한 localhost는 flutter 쪽에선 핸드폰
              // vscode쪽(python)에서는 컴퓨터
              // cmd 창 ipconfig 통해서 ip 주소 알아낸 다음 코드 수정
              // 2. 통신 라이브러리 - dio 라이브러리
              // dio 객체 생성했는지 확인(없으면 객체 생성코드 작성)
              // 3. 통신(get/post)
              // get(url,(queryParameters{map구조로 작성}))
              Response res = await dio.get(
                  url,
                  queryParameters:{'test' : test}
              );
              print(res);
            },
              child: Text("보내기"),
            ),
          ],
        ),
      ),
    );
  }
}

통신 라이브러리 dio사용

  • pubspec.yaml
dependencies:
  dio: ^5.8.0+1
profile
나는,,,,,,,,,나다

0개의 댓글