根据项目需求,flutter的module会需要各种各样的功能,例如网络请求、下载等等。这些都有别人实现好的第三方库,就好比GitHub上的第三方库一样,所以我们首先学会找第三方的flutter库,看有没有适合自己项目的。
pub.dev
flutter-io
dartlang
上面3个地址,都是用来查找第三方库的。
例如我们需要添加一个网络请求的,url_launcher
现在上面的地址中找,然后在flutter项目中的配置文件加入依赖:
flutter的module中会有一个pubspec.yaml文件,这个就是配置文件。
dependencies:
url_launcher:
^6.0.6
配置完点击一下上方的“Pub get”,导入成功后,就可以使用了。
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart' as urlLauncher;
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Welcome to Flutter',
home: Scaffold(
appBar: AppBar(
title: Text('使用第三方包示例'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
const url = 'https://www.github.com';
urlLauncher.launch(url);
},
child: Text('打开GitHub'),
),
),
),
);
}
}
flutter常用的第三方库
cupertino_icons:Cupertino主题图标集,其实就是iOS风格的一些icon。
dio: 网络请求库。
fluttertoast: 看名字就知道,是toast弹窗库。
flutter_spinkit: 加载数据时,显示动画的库,例如请求接口数据时的loading。
cached_network_image:加载网络图片并本地缓存
flutter_bloc: 架构框架类的库,类似于android里的MVVM,作用是使得数据和UI分离,有利于维护。
equatable:自定义class类的比较,自定义class如果用==来比较,比较的是内存地址,没有用。这个库解决的就是这个问题。
image_picker:图片相册选择器。
flutter_swiper:轮播图
用什么库,怎么用。最好的方法就是去对应的官网去看使用方法,只有官网的才是最新的和最准确的,技术文章总有过时的时候,毕竟文章又不会跟着别人更新而自动更新。