pub.dev 사이트에서 dio 검색
pubspec.yaml
...
dev_dependencies:
dio: ^5.7.0
...
main.dart ()
import 'package:flutter/material.dart';
import 'package:dio/dio.dart';
import 'package:flutter_db/screen/login_page.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
home: ExDio(),
);
}
}
class ExDio extends StatelessWidget {
const ExDio({super.key});
void getData() async {
// dio 라이브러리 사용하여 데이터 가지고오기
// 1. Dio 객체 생성
Dio dio = Dio();
// 2. url 작성하기
// String url = "http://localhost:8082/test";
// ㄴ 안되는 이유 : 스마트폰도 하나의 작은 컴퓨터, 스마트폰 내 localhost가 별도로 존재
// ipconfig 통해 ip주소 알아 낸 후 vscode 서버 주소 변경
String url = "http://192.168.0.21:8082/test";
// dio 내에도 post, get
// dio.~~~
Response res = await dio.get(url);
print(res.statusCode);
print(res.data);
// 출력창에 접속한 url을 출력
print(res.realUri);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(child: ElevatedButton(onPressed: (){
getData();
}, child: Text("데이터 가져오기"))),
);
}
}
app.py
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def hello():
return 'hello'
# 새로운 페이지
@app.route('/test')
# 함수로 작성
def test(): # 함수명은 의미없음
# return에 페이지에 보여질 모습 출력
# String, 숫자
return "test page"
@app.route('/data')
def data():
# 데이터 받는 법
# request.args.get(키값)
test = request.args.get('test')
return test
if __name__ == '__main__':
app.debug = True
app.run('192.168.0.21',port=8082)