Flutter中的http网络请求
在Flutter中,可以使用http
包来进行网络请求。首先,需要在pubspec.yaml
文件中添加http
包的依赖。
dependencies:
flutter:
sdk: flutter
http: ^0.13.3 # 确保使用最新版本
然后,可以使用http.get
方法来发送HTTP GET请求。以下是一个简单的例子:
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('HTTP Request Example'),
),
body: Center(
child: FutureBuilder<String>(
future: fetchData(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Text(snapshot.data);
} else if (snapshot.hasError) {
return Text("${snapshot.error}");
}
return CircularProgressIndicator();
},
),
),
),
);
}
Future<String> fetchData() async {
final response = await http.get(Uri.parse('https://jsonplaceholder.typicode.com/posts/1'));
if (response.statusCode == 200) {
return response.body;
} else {
throw Exception('Failed to load post');
}
}
}
在这个例子中,我们创建了一个Future<String>
函数fetchData
,它使用http.get
来获取一个JSONPlaceholder上的博客文章。然后,我们使用FutureBuilder
来处理异步请求,并在MaterialApp中显示请求结果或者加载指示器。
评论已关闭