常用库
常用需要额外安装的库
http
网络请求
演示
void loadData() async {
var dataURL = Uri.parse('https://jsonplaceholder.typicode.com/posts');
http.Response response = await http.get(dataURL);
setState(() {
// 格式化JSON
data = jsonDecode(response.body);
// 请求成功执行代码
});
}
传参数
final response = await get(
Uri.https(
'jsonplaceholder.typicode.com',
'/posts',
<String, String>{'_start': '$startIndex', '_limit': '$_postLimit'},
),
);
POST传参数
final response = await post(
Uri.https(
'地址',
'/token-auth/',
),
body: {'username': 'xxx', 'password': 'xxx'},
// 请求头
headers: {
HttpHeaders.authorizationHeader: token,
},
);
shared_preferences
持久存储, 不得使用此插件用于存储关键数据.
演示
Future<void> _incrementCounter() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
// 保存
await prefs.setString('counter', 'Hi');
//读取
final String? action = prefs.getString('counter');
print(action);
}
sqflite
使用SQLite
infinite_scroll_pagination
分页
flutter_svg
图标
SvgPicture.asset(
width: 35,
'assets/svg/github-square.svg',
color: Color(0xb3f6f6f6),
)
hive
轻量级数据库
// 初始化
await Hive.initFlutter();
// 打开数据库
var box = await Hive.openBox('testBox');
// 关闭数据库 盒子的所有缓存键和值都将从内存中删除
await box.close();
// 清除数据库数据
box.clear();
// 获取数据库名称
box.name;
// 数据库是否为空
box.isEmpty
// 数据库是否打开
box.isOpen
写入数据
box.put('键', '值');
box.put('键', ['Dave', 'Simon', 'Lisa']);
// 一次写多个
box.putAll({'键': '值', 键: '值'});
// 自增长 键
box.add('值');
// 自增长 键 一次写多个
addAll(['值','值','值'])
// 按照索引写入 会覆盖之前的
putAt(0, '值')
备注
键可以是数字
读取数据
box.get('键', '默认值')
// 按照索引访问
box.getAt(0)
删除数据
box.delete('键');
// 按照索引删除
box.deleteAt(0)
// 数据长度
box.length
// 获取全部键
box.keys
// 获取全部值
box.values
geolocator
GPS
font_awesome_flutter
图标库
animated_text_kit
文字动画
flutter_map
地图
flutter_native_splash
闪屏
url_launcher
跳转URL
launchUrl(Uri.parse('https://google.com'))
package_info_plus
获取应用相关信息
share_plus
分享 可以分享内容与图片
permission_handler
权限相关
image_picker
相册 照相 相关
extended_image
图片加载 缓存 清理缓存 缩放图片
like_button
点击特效
draggable_home
滑动特效
adaptive_action_sheet
底部选项 自动适应 ios Android
modal_bottom_sheet
底部弹窗
file_picker
文件选择器
animations
跳转动画
intl
国际化
in_app_purchase
支付API
cached_network_image
图片缓存
uuid
设备唯一 UUID
flutter_slidable
左右滑动选项效果
in_app_review
App评分弹窗
photo_view
图片放大缩小
badges
数字跳动效果 如点赞
sliding_up_panel
下方向上滑动窗口
sizer
分辨率适配
easy_localization
国际化
responsive_framework
响应式框架
chewie
视频播放器
flutter_blurhash
图片加载完成前模糊效果
settings_ui
设置UI组件
rounded_loading_button
按钮加载效果