
到目前为止,你已经掌握了:
但是,很多 App 的实用功能依赖于 第三方插件:
Flutter 生态非常丰富,几乎所有功能都有现成插件。
pubspec.yaml 添加依赖dependencies:
shared_preferences: ^2.1.1
url_launcher: ^6.1.10
flutter pub get 安装import 'package:shared_preferences/shared_preferences.dart';
import 'package:url_launcher/url_launcher.dart';
void _saveData() async {
final prefs = await SharedPreferences.getInstance();
await prefs.setString('username', 'FlutterUser');
}
void _loadData() async {
final prefs = await SharedPreferences.getInstance();
final username = prefs.getString('username') ?? '未保存';
print('用户名: $username');
}
📌 功能:
void _launchURL() async {
final url = Uri.parse('https://flutter.dev');
if (await canLaunchUrl(url)) {
await launchUrl(url);
} else {
print('无法打开 $url');
}
}
final tel = Uri(scheme: 'tel', path: '123456789');
final sms = Uri(scheme: 'sms', path: '123456789');
await launchUrl(tel);
await launchUrl(sms);
📌 注意:
canLaunchUrl 判断是否可用import 'package:image_picker/image_picker.dart';
final picker = ImagePicker();
Future<void> _pickImage() async {
final pickedFile = await picker.pickImage(source: ImageSource.gallery);
if (pickedFile != null) {
print('选中图片路径: ${pickedFile.path}');
}
}
📌 功能:
插件 | 功能 | 常用场景 |
|---|---|---|
shared_preferences | 本地存储 | 用户设置、缓存 |
url_launcher | 调用系统功能 | 打开网页、打电话、发短信 |
image_picker | 选择图片 / 拍照 | 头像上传、图片分享 |
dio / http | 网络请求 | 数据接口调用 |
cached_network_image | 图片缓存 | 长列表网络图片优化 |
📌 使用技巧:
async / await❌ 未执行 flutter pub get → 插件无法使用 ❌ Android / iOS 权限未配置 → 功能失效 ❌ 异步调用未 await → 数据未正确获取 ❌ 插件版本冲突 → 项目无法编译
📌 建议:
你已经学会:
📌 到这里为止:
你的 App 已经可以调用系统功能并扩展丰富功能了 ✅
Flutter 插件生态丰富 shared_preferences / url_launcher / image_picker 异步调用 + 权限配置 App 功能快速扩展
《Flutter 零基础入门(四十八):Flutter 综合实战 —— 登录表单 + 列表 + 动画 + 插件》
下一篇我们将:
🚀 让你的 Flutter 学习成果真正落地