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请求示例'),
),
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');
}
}
}
在这个例子中,我们创建了一个FutureBuilder
来处理异步请求。当请求成功时,我们将返回响应体,否则抛出异常。这个例子演示了如何在Flutter中进行简单的HTTP GET请求,并处理响应。
评论已关闭