第三方库安装过程
- 在pubspec.yaml 中添加相应的库
- 安装依赖(put get | flutter packages get | vsCode 中 保存一下,会自动下载)
- 引入 (eg:
import 'package:shared_preferences/shared_preferences.dart';
) - 使用 (请参考 pub.dev 中示例 )
dio 网络请求
代码示例:
class Body extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.all(10),
child: ElevatedButton(
onPressed: () {
getIp();
},
child: Text('点击发送请求'),
),
);
}
void getIp() async {
try {
final url = 'https://httpbin.org/ip';
Response res = await Dio().get(url);
String ip = res.data['origin'];
print(ip);
} catch (e) {
print(e);
}
}
}
flutter_swiper 轮播图
代码示例
class Body extends StatelessWidget {
final List<String> imgs = [
'images/01.jpg',
'images/02.jpg',
'images/03.jpg',
];
@override
Widget build(BuildContext context) {
return ListView(
children: [
Container(
height: 200,
width: double.infinity,
child: Swiper(
itemCount: imgs.length,
itemBuilder: (context, index) {
return Image.asset(imgs[index], fit: BoxFit.cover);
},
pagination: SwiperPagination(), // 下方小圆点,
control: SwiperControl(), // 左右箭头
viewportFraction: 0.7, // 中间大图占比
scale: 0.7, // 非主图占比
itemWidth: 300, // 图片宽度
layout: SwiperLayout.STACK, // 轮播图类型、样式
),
),
],
);
}
}
shared-perferences 本地数据缓存库 (手机本地内存)
- 增加
- 字符串:setString(key, value) - 删除
- 删除指定key : remove(key)
- 全部删除:clear() - 更改
- setString(key, value) - 查看
- getString(key)
-
注意: 根据不同类型使用不同Api, 比如 int : setInt(key, value)、getInt(key)…